পাইথন মডিউলগুলির সংস্করণটি কীভাবে পরীক্ষা করবেন?


685

আমি শুধু ইনস্টল পাইথন মডিউল: constructএবং statlibসঙ্গে setuptoolsভালো:

# Install setuptools to be able to download the following
sudo apt-get install python-setuptools

# Install statlib for lightweight statistical tools
sudo easy_install statlib

# Install construct for packing/unpacking binary data
sudo easy_install construct

আমি তাদের (সংস্করণে) সংস্করণগুলি পরীক্ষা করতে সক্ষম হতে চাই। python --versionকমান্ড লাইন থেকে চালানোর জন্য কি আমার সমতুল্য আছে ?

আমার অজগর সংস্করণটি 2.7.3




12
কমান্ড লাইন সমাধানে pip list
আগ্রহীদের জন্য

উত্তর:


726

আমি Easy_install এর জায়গায় পাইপ ব্যবহার করার পরামর্শ দিই । পাইপের সাহায্যে আপনি সমস্ত ইনস্টল করা প্যাকেজ এবং এর সংস্করণগুলি তালিকাভুক্ত করতে পারেন

pip freeze

বেশিরভাগ লিনাক্স সিস্টেমে আপনি যে বিশেষ প্যাকেজটিতে আগ্রহী সেটির সারি সন্ধান করতে আপনি এটি grep(বা findstrউইন্ডোজে) পাইপ করতে পারেন :

Linux:
$ pip freeze | grep lxml
lxml==2.3

Windows:
c:\> pip freeze | findstr lxml
lxml==2.3

একটি পৃথক মডিউল জন্য, আপনি __version__গুণাবলী চেষ্টা করতে পারেন , তবে এটি ছাড়া মডিউল আছে:

$ python -c "import requests; print(requests.__version__)"
2.14.2
$ python -c "import lxml; print(lxml.__version__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute '__version__'

শেষ অবধি, আপনার প্রশ্নের কমান্ডগুলি যেমন উপসর্গ করা হয়েছে sudo, দেখা যাচ্ছে আপনি বৈশ্বিক পাইথন পরিবেশে ইনস্টল করছেন। অজগর ভার্চুয়াল এনভায়রনমেন্ট ম্যানেজারগুলিকে সন্ধানের জন্য দৃr়ভাবে পরামর্শ দিন , উদাহরণস্বরূপ


18
নীচে একটি উত্তর প্রস্তাবিত pip show lxml | grep Version; এটি আরও দ্রুত চলবে, যেহেতু এটি কেবলমাত্র একটি প্যাকেজ পরীক্ষা করে।
জোনাথন ভানাসকো

12
কেবলমাত্র সম্পূর্ণতার জন্য: একটি তৃতীয় সংস্করণ হ'লpip list | grep lxml
0xএফে

3
উইন্ডোজ সিস্টেমে কেমন? কি grepউইন্ডোজে? যেহেতু পাইপ ফ্রিজ | grep lxML উইন্ডোতে কাজ করে না।
রেভেন চুক

4
@ রেভেনচিউক ব্যবহার করুনpip list | findstr lxml
অ্যালেক্স এফ

2
উইন্ডোতে রূপের সাথে বৈকল্পিক (1 টি অক্ষর সংক্ষিপ্ত ...): পাইপ তালিকা | "lxML" সন্ধান করুন
জর্দান

366

আপনি চেষ্টা করতে পারেন

>>> import statlib
>>> print statlib.__version__

>>> import construct
>>> print contruct.__version__

59
দুর্ভাগ্যক্রমে কিছু সাধারণ লাইব্রেরির সংস্করণ (যেমন inspect) এর কোনও __version__বৈশিষ্ট্য নেই।
এলী

5
পাইসারিয়াল আছে serial.VERSION। সম্ভবত কিছু অন্যান্য ব্যবহৃত মডিউলও রয়েছে যা পিইপি 0396 অনুসরণ করছে না: পাইথন.আর
দেবদেব

6
অনেক মডিউল সংস্করণ নেই
sdaffa23fdsf

1
@ sdaffa23fdsf কোন মডিউলটির সংস্করণ নেই? সিরিয়াল, পরিদর্শন, পাইকিউটি এবং এসকিউএলাইটের চেয়ে বেশি? পাইকমেকে দেখুন ।
পোল জিডি

4
print(contruct.__version__)পাইথন 3 ব্যবহার করা হলে * *
জ্যাকানটারবারি

218

লাইব্রেরি pkg_resourcesসহ বিতরণ মডিউল ব্যবহার করুন setuptools। নোট করুন যে get_distributionপদ্ধতিটিতে আপনি যে স্ট্রিংটি পাস করেছেন তা পিপিআই এন্ট্রি সম্পর্কিত correspond

>>> import pkg_resources
>>> pkg_resources.get_distribution("construct").version
'2.5.2'

এবং যদি আপনি এটি কমান্ড লাইন থেকে চালাতে চান তবে আপনি করতে পারেন:

python -c "import pkg_resources; print(pkg_resources.get_distribution('construct').version)"

নোট করুন যে get_distributionপদ্ধতিটিতে আপনি যে স্ট্রিংটি পাস করেছেন তা হ'ল পাইপআই-তে নিবন্ধিত প্যাকেজের নাম হওয়া উচিত, আপনি যে মডিউলটি আমদানির চেষ্টা করছেন তা নয়।

দুর্ভাগ্যক্রমে এগুলি সর্বদা এক নয় (যেমন আপনি করেন pip install memcachedতবে import memcache))


20
মডিউলের বৈশিষ্ট্য না থাকলেও এটি কাজ করে __version__
ইমরানাল

এই সম্পর্কে কি? construct.version.full_version
এম কে্যাটলিস্ট 3

9
শীর্ষ উত্তর হওয়া উচিত, এটি প্যাকেজ সংস্করণ পাওয়ার একমাত্র নির্ভরযোগ্য উপায় (যদি থাকে তবে)
হেনরি জ্যাক

7
নোট যে pkg_resources.get_distrinbutionসর্বদা হয় না। এটি DistributionNotFoundত্রুটি বার্তার সাথে কিছু ব্যতিক্রম ইস্যু করে যেমন: "'the_package_name" বিতরণ পাওয়া যায় নি এবং অ্যাপ্লিকেশনটির দ্বারা প্রয়োজনীয় "
এমজেভি

3
@ এমজেভি আপনার ত্রুটি সম্ভবত ঘটে কারণ 1) প্যাকেজ ইনস্টল করা হয়নি 2) আপনি get_distributionপদ্ধতিতে প্যাকেজের নামের পরিবর্তে একটি মডিউল নামটি পাস করছেন
জাকুব কুকুল

96

আমি মনে করি এটি showচালানোর জন্য প্রথমে প্যাকেজ ইনস্টল করতে সহায়তা করতে পারে তবে pip showসংস্করণটি খুঁজে পেতে শো ব্যবহার করুন!

sudo pip install show
# in order to get package version execute the below command
sudo pip show YOUR_PACKAGE_NAME | grep Version

2
এখানে আনন্দ নেই! pip: error: No command by the name pip show (maybe you meant "pip install show")
স্যাম ফিনিগান

এই উত্তরটি কেবল সত্যই উপযুক্ত যদি আপনার শেল থেকে কোনও প্যাকেজ সংস্করণ প্রয়োজন। পাইথনের মধ্যে আপনার যদি এটির প্রয়োজন হয় তবে এটি একটি খুব খারাপ হ্যাক হবে। যাইহোক, আপনি সংস্করণ বের করার জন্য নিম্নোক্ত কমান্ডটি ব্যবহার করতে পারেন: pip show PACKAGE | awk '/^Version: / {sub("^Version: ", ""); print}'। আপনি সম্ভবত একটি সহজ এডব্লিউকে স্ক্রিপ্ট নিয়ে পালাতে পারেন তবে পূর্বোক্ত যে কোনও প্রান্তের ক্ষেত্রে নিরাপদ হবে।
ছয়

3
@SamFinnigan pip showবাস্তবায়িত হয়েছিল পিপ 1.2.1.post1 । আপনি পাইপের একটি দুর্দান্ত তারিখযুক্ত সংস্করণ ব্যবহার করছেন যাতে অবাক হওয়ার কিছু নেই যে! আমি বর্তমানে 7.1.2 পিপ চালাচ্ছি । যদি কোনও কিছু আপনাকে আপডেট করা থেকে বিরত করে, আপনি সর্বদা এটি স্থানীয়ভাবে বা কোনও ভার্চুয়াল্নেভ ইনস্টল করতে পারেন।
ছয়

ধন্যবাদ আমার জন্য কাজ করেছে। কিছু প্যাকেজে .__ সংস্করণ__ প্যারামিটার নেই যাতে এটি আরও কার্যকর হয়।
সালিহ কারাগোজ

আমি আউটপুটে একটি স্বতন্ত্রতা পাচ্ছি বলে মনে হচ্ছে: >> মুদ্রণ (স্কালার্ন .__ সংস্করণ__) # রিটার্ন 0.20.3 >> পিপ শো স্ক্লেয়ার্ন # রিটার্ন 0.0; আপনি কি স্পষ্ট করতে পারেন?
সুমন্ত লাজার

76

এটি করার সর্বোত্তম উপায় হ'ল:


নির্দিষ্ট প্যাকেজ বিশদ জন্য

pip show <package_name>

এটি প্যাকেজ_নাম, সংস্করণ, লেখক, অবস্থান ইত্যাদির বিবরণ দেয়


$ pip show numpy
Name: numpy
Version: 1.13.3
Summary: NumPy: array processing for numbers, strings, records, and objects.
Home-page: http://www.numpy.org
Author: NumPy Developers
Author-email: numpy-discussion@python.org
License: BSD
Location: c:\users\prowinjvm\appdata\local\programs\python\python36\lib\site-packages
Requires:

বিস্তারিত জানার জন্য: >>> pip help


pip এটি করার জন্য আপডেট করা উচিত।

pip install --upgrade pip

উইন্ডোজ সুপারিশ কমান্ড হয়:

python -m pip install --upgrade pip


আমি আউটপুটে একটি স্বতন্ত্রতা পাচ্ছি বলে মনে হচ্ছে: >> মুদ্রণ (স্কালার্ন .__ সংস্করণ__) # রিটার্ন 0.20.3 >> পিপ শো স্ক্লেয়ার্ন # রিটার্ন 0.0; আপনি কি স্পষ্ট করতে পারেন?
সুমন্ত লাজারুস

1
এর pip show scikit-learnপরিবর্তে আপনার ব্যবহার করা উচিত pip show sklearn। স্ক্লেয়ারনটি আমদানির সময় স্বল্প ফর্ম ব্যবহৃত হয়, সরাসরি প্যাকেজটি না pipথেকে সরাসরি চিনতে scikit-learnপারবেন নাsklearn
susan097

42

পাইথন 3 এ প্রিন্টের চারপাশে বন্ধনী রয়েছে

>>> import celery
>>> print(celery.__version__)
3.1.14

30
প্রতিটি প্যাকেজের একটি __version__বৈশিষ্ট্য থাকে না।
স্পিডওয়ার্ডস

এই উত্তরটি পাইথন 3 - যা একটি ভিন্ন ভাষা। তবে, আপনি এই উত্তরটি অজগর 2 এ ব্যবহার করতে পারেন এটি করার জন্য অন্যান্য বিবৃতিগুলির আগে " ভবিষ্যতের আমদানি প্রিন্ট_ফংশন থেকে": লাইনটি যুক্ত করা দরকার ।
ব্যবহারকারী 1976

1
@ user1976 এটি পাইথন 2-তেও বৈধ বাক্য গঠন। ক্যারেন্টেসিসগুলি কেবলমাত্র মূল্যায়নের printমতোই যুক্তির চারপাশে সহ্য করা (2)+(3)হয় 5। প্রথম বন্ধনীর ভিতরে আপনার যখন কমা রয়েছে তখন জিনিসগুলি কিছুটা মজাদার হয়ে উঠতে পারে, যদিও printএটি এখনও কাজ করে, সাজানো।
ট্রিপলি

22

module.__version__ চেষ্টা করা ভাল প্রথম জিনিস, তবে এটি সবসময় কার্যকর হয় না।

আপনি যদি শেল আউট করতে না চান এবং আপনি 8 বা 9 টি পিপ ব্যবহার করছেন তবে আপনি pip.get_installed_distributions()পাইথনের মধ্যে থেকে সংস্করণগুলি পেতে ব্যবহার করতে পারেন:

আপডেট করুন: এখানে সমাধান পিপ 8 এবং 9 কাজ করে, কিন্তু পিপ 10 ফাংশন থেকে সরানো হয়েছে pip.get_installed_distributionsথেকে pip._internal.utils.misc.get_installed_distributionsস্পষ্টভাবে করার নির্দেশ করে যে এটি বাহ্যিক ব্যবহারের জন্য নয়। আপনি যদি পিপ 10+ ব্যবহার করেন তবে এটির উপর নির্ভর করা ভাল ধারণা নয়।

import pip

pip.get_installed_distributions()  # -> [distribute 0.6.16 (...), ...]

[
    pkg.key + ': ' + pkg.version
    for pkg in pip.get_installed_distributions()
    if pkg.key in ['setuptools', 'statlib', 'construct']
] # -> nicely filtered list of ['setuptools: 3.3', ...]

1
হ্যাঁ, সমস্ত প্যাকেজ স্রষ্টা সংস্করণ সেট করে না , তবে আপনি যদি ব্যবহার করেন তবে এটি pipসর্বদা কাজ করা উচিত।
জলরোধী

2
দুর্ভাগ্যক্রমে, এই সমাধানটি কার্যকর নয়। পিপ কোনও প্রসেস-এপিআই-এর গ্যারান্টি দেয় না, কমান্ড-লাইনের মাধ্যমে কেবল একটি এপিআই। এই পদ্ধতিটি আর পাইপ 10 এ কাজ করে না
জেসন আর। কমস

16

পূর্ববর্তী উত্তরগুলি আমার সমস্যার সমাধান করেনি, তবে এই কোডটি করেছে:

import sys 
for name, module in sorted(sys.modules.items()): 
  if hasattr(module, '__version__'): 
    print name, module.__version__ 

2
এটি কেবল __version__এটি সংজ্ঞায়িত না করে মুদ্রণের চেষ্টা এড়িয়ে চলে । যদি না থাকে তবে __version__আপনি যে প্যাকেজটি চান তার কোনও ফল পাবেন না।
ট্রিপলি

যদি মডিউলটির কোনও __version__বৈশিষ্ট্য না থাকে, যা মানক ( পাইথন.আর / দেবদেব / পেপস / পেপ ০৯৯///# স্পেসিফিকেশন ) হয় তবে ম্যানুয়াল তদন্ত ছাড়া সংস্করণটি কোথায় এবং কীভাবে অন্তর্ভুক্ত রয়েছে তা জানা অসম্ভব।
tashuhka

12

আপনি importlib_metadataএই জন্য গ্রন্থাগার ব্যবহার করতে পারেন ।

যদি আপনি অজগর থাকেন তবে <3.8প্রথমে এটিটি ইনস্টল করুন:

pip install importlib_metadata

অজগর থেকে 3.8এটি স্ট্যান্ডার্ড লাইব্রেরিতে অন্তর্ভুক্ত।

তারপরে, প্যাকেজের সংস্করণটি পরীক্ষা করতে (এই উদাহরণে lxml) রান করুন:

>>> from importlib_metadata import version
>>> version('lxml')
'4.3.1'

মনে রাখবেন যে এটি কেবল পাইপিআই থেকে ইনস্টল হওয়া প্যাকেজগুলির জন্য কাজ করে। এছাড়াও, আপনাকে versionএই প্যাকেজটি সরবরাহ করে এমন কোনও মডিউল নাম নয় , আপনাকে অবশ্যই প্যাকেজের নামটি পদ্ধতির আর্গুমেন্ট হিসাবে পাস করতে হবে (যদিও তারা সাধারণত একই থাকে)।


12

dir()মডিউলের কোনও __version__বৈশিষ্ট্য রয়েছে কিনা তা অনুসন্ধান করতে ব্যবহার করুন ।

>>> import selenium
>>> dir(selenium)
['__builtins__', '__doc__', '__file__', '__name__',
 '__package__', '__path__', '__version__']
>>> selenium.__version__
'3.141.0'
>>> selenium.__path__
['/venv/local/lib/python2.7/site-packages/selenium']

ঠিক আমি সেলেনিয়াম সংস্করণটির সন্ধান করলাম - এবং যাদুতে এখানে এটি রয়েছে! পাইথন 3 এর সাথে কাজ করে - ভাল কাজ!
pbaranski

এটি একটি শক্তিশালী সমাধানের নিকটতম
ডি অ্যাডামস

6

উপরের পদ্ধতিগুলি যদি কাজ না করে তবে অজগরটিতে নিম্নলিখিত চেষ্টা করা মূল্যবান:

import modulename

modulename.version
modulename.version_info

দেখুন পাইথন টর্নেডো সংস্করণ পেতে?

দ্রষ্টব্য, .versionটর্নেডো ছাড়াও কয়েকজনের জন্য আমার পক্ষে কাজ হয়েছিল।


6

প্রথমে অজগর যুক্ত করুন, আপনার পরিবেশের ভেরিয়েবলগুলিতে পিপ দিন। যাতে আপনি কমান্ড প্রম্পট থেকে আপনার আদেশগুলি কার্যকর করতে পারেন। তাহলে কেবল পাইথন কমান্ড দিন। তারপরে প্যাকেজটি আমদানি করুন

->import scrapy

তারপরে সংস্করণটির নাম মুদ্রণ করুন

->print(scrapy.__version__)

এটি অবশ্যই কাজ করবে


2
এখানে বেশ কয়েকবার আলোচিত হিসাবে, প্রতিটি মডিউল একটি __version__বৈশিষ্ট্য সরবরাহ করে না ।
reox

আমি এমন একটি প্যাকেজ পেয়েছি যা pip freeze<প্যাকেজ> .__ সংস্করণ_ সহ কাজ করে না। পোস্ট করার জন্য ধন্যবাদ।
তীমথিয় সি। কুইন

6

ধরে নিই আমরা জুপিটার নোটবুক ব্যবহার করছি (যদি টার্মিনাল ব্যবহার করে থাকে তবে বিস্মৃত চিহ্নগুলি ফেলে দিন):

1) যদি প্যাকেজ (যেমন xgboost) সঙ্গে ইনস্টল করা ছিল পিপ :

!pip show xgboost
!pip freeze | grep xgboost
!pip list | grep xgboost

2) যদি প্যাকেজটি (যেমন ক্যাফে ) কনডা সহ ইনস্টল করা থাকে :

!conda list caffe

5

কিছু মডিউলের __version__বৈশিষ্ট্য নেই, তাই সবচেয়ে সহজ উপায়টি টার্মিনালে পরীক্ষা করা:pip list


5

পাইথন ৩.৮ সংস্করণে প্যাকেজে একটি নতুন metadataমডিউল রয়েছে importlibযা এটিও করতে পারে।

এখানে ডক্সের একটি উদাহরণ:

>>> from importlib.metadata import version
>>> version('requests')
'2.22.0'

সংস্করণ বৈশিষ্ট্যটি সংজ্ঞায়িত না হলে এই পদ্ধতির কাজের সুবিধা রয়েছে ।
ডেরিকসন

3

আমি pythonটার্মিনালে একটি শেল খোলার পরামর্শ দিচ্ছি (আপনার আগ্রহী অজগর সংস্করণে), গ্রন্থাগারটি আমদানি করা এবং এর __version__বৈশিষ্ট্যটি পাওয়ার জন্য ।

>>> import statlib
>>> statlib.__version__

>>> import construct
>>> contruct.__version__

দ্রষ্টব্য 1: আমাদের অবশ্যই অজগর সংস্করণটি বিবেচনা করতে হবে । যদি আমরা পাইথনের বিভিন্ন সংস্করণ ইনস্টল করে থাকি তবে পাইথনের যে সংস্করণটি আমরা আগ্রহী সেগুলিতে আমাদের টার্মিনালটি খুলতে হবে For উদাহরণস্বরূপ, টার্মিনালটি খোলার সাথে python3.8(অবশ্যই হবে) python3.5বা দিয়ে খোলার চেয়ে কোনও লাইব্রেরির আলাদা সংস্করণ দেওয়া যাবে python2.7

দ্রষ্টব্য 2: আমরা ফাংশনটি ব্যবহার করা এড়িয়ে চলিprint কারণ এর আচরণটি পাইথন 2 বা পাইথন 3 এর উপর নির্ভর করে। আমাদের এটির দরকার নেই, টার্মিনালটি এক্সপ্রেশনটির মান প্রদর্শন করবে।


2

এটি উইন্ডোজ জুপিটার নোটবুকেও কাজ করে! যতক্ষণ জুপিটারকে ব্যাট-কমপ্লায়েন্ট কমান্ড লাইন যেমন গিট বাশ (মিংডাব্লু 64৪) থেকে চালু করা হয়, ততক্ষণ উত্তরগুলির মধ্যে দেওয়া বেশ কয়েকটি সমাধান উইন্ডোজ সিস্টেমে জুপিটার নোটবুকটিতে একটি ক্ষুদ্র সাম্প্রতিক চিহ্ন দিয়ে ব্যবহার করা যেতে পারে।

আমি অ্যানাকোন্ডার মাধ্যমে পাইথনের সাথে উইন্ডোজ 10 প্রো ইনস্টল করছি এবং নিম্নলিখিত কোডটি আমি যখন গিটি বাশের মাধ্যমে জুপিটারটি চালু করি তখন কাজ করে না (তবে আমি যখন অ্যানাকোন্ডা প্রম্পট থেকে লঞ্চ করি তখন তা হয় না)।

খামচি: কোন বিস্ময়বোধক চিহ্ন (যোগ করুন !সামনে) pipএটি না করা !pip

>>>!pip show lxml | grep Version
Version: 4.1.0

>>>!pip freeze | grep lxml
lxml==4.1.0

>>>!pip list | grep lxml
lxml                               4.1.0                  

>>>!pip show lxml
Name: lxml
Version: 4.1.0
Summary: Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
Home-page: http://lxml.de/
Author: lxml dev team
Author-email: lxml-dev@lxml.de
License: BSD
Location: c:\users\karls\anaconda2\lib\site-packages
Requires: 
Required-by: jupyter-contrib-nbextensions

2

সমস্ত প্যাকেজগুলি তালিকাভুক্ত করার জন্য দ্রুত অজগর প্রোগ্রাম (আপনি এটি প্রয়োজনীয়তাগুলিতে অনুলিপি করতে পারেন )

from pip._internal.utils.misc import get_installed_distributions
print_log = ''
for module in sorted(get_installed_distributions(), key=lambda x: x.key): 
    print_log +=  module.key + '~=' + module.version  + '\n'
print(print_log)

আউটপুট দেখতে হবে:

asn1crypto~=0.24.0
attrs~=18.2.0
automat~=0.7.0
beautifulsoup4~=4.7.1
botocore~=1.12.98

2

( https://stackoverflow.com/a/56912280/7262247 দেখুন )

আমি উপলব্ধ বিভিন্ন সরঞ্জাম ( জাকুব কুকুলের উত্তরpkg_resources দ্বারা উল্লিখিত সেরাটি সহ) ব্যবহার করা বেশ বিশ্বাসযোগ্য বলে মনে হয়েছিল , কারণ তাদের বেশিরভাগ ক্ষেত্রেই সমস্ত ঘটনা কভার হয় না । উদাহরণ স্বরূপ

  • অন্তর্নির্মিত মডিউল
  • মডিউলগুলি ইনস্টল করা হয়নি তবে পাইথন পাথে যুক্ত হয়েছে (উদাহরণস্বরূপ আপনার আইডিই দ্বারা)
  • একই মডিউলটির দুটি সংস্করণ উপলব্ধ (পাইথন পাথের মধ্যে একটি ইনস্টল হওয়াটিকে ছাড়িয়ে যাবে)

যেহেতু আমাদের যে কোনও প্যাকেজ, মডিউল বা সাবমডিউলটির সংস্করণ পেতে একটি নির্ভরযোগ্য উপায় প্রয়োজন , তাই আমি getversion লেখার কাজ শেষ করেছিলাম । এটি ব্যবহার করা বেশ সহজ:

from getversion import get_module_version
import foo
version, details = get_module_version(foo)

বিশদ জন্য ডকুমেন্টেশন দেখুন ।


1

বর্তমান মডিউলে আমদানিকৃত অ-মানক (পিপ) ​​মডিউলগুলির একটি তালিকা পেতে:

[{pkg.key : pkg.version} for pkg in pip.get_installed_distributions() 
   if pkg.key in set(sys.modules) & set(globals())]

ফলাফল:

>>> import sys, pip, nltk, bs4
>>> [{pkg.key : pkg.version} for pkg in pip.get_installed_distributions() if pkg.key in set(sys.modules) & set(globals())]
[{'pip': '9.0.1'}, {'nltk': '3.2.1'}, {'bs4': '0.0.1'}]

বিঃদ্রঃ:

এই কোডটি এই পৃষ্ঠায় উভয়ই সমাধান থেকে এবং কীভাবে আমদানি করা মডিউলগুলি তালিকাভুক্ত করা যায়?


1

সংক্ষেপে:

conda list   

(এটি সংস্করণের বিবরণ সহ সমস্ত গ্রন্থাগার সরবরাহ করবে)।

এবং:

pip show tensorflow

(এটি সম্পূর্ণ গ্রন্থাগারের বিশদ দেয়)


1

আপনি এটি চেষ্টা করতে পারেন:

pip list

এটি তাদের সংস্করণ সহ সমস্ত প্যাকেজ আউটপুট দেবে। আউটপুট


0

জাকুব কুকুলের উত্তরের উপর ভিত্তি করে আমি এই সমস্যাটি সমাধানের আরও নির্ভরযোগ্য উপায় পেয়েছি।

এই পদ্ধতির মূল সমস্যাটি হ'ল প্যাকেজগুলি "প্রচলিতভাবে" ইনস্টল করা প্রয়োজন (এবং এটিতে ব্যবহার অন্তর্ভুক্ত নয় pip install --user), বা পাইথন ইনিশিয়ালেশনে PATH সিস্টেমের মধ্যে থাকতে হবে।

যে আপনি ব্যবহার করতে পারেন কাছাকাছি পেতে pkg_resources.find_distributions(path_to_search)। এটি মূলত বিতরণগুলির path_to_searchসন্ধান করে যা সিস্টেম PATH এ থাকলে আমদানিযোগ্য হবে ।

আমরা এই জেনারেটরের মাধ্যমে এর পুনরাবৃত্তি করতে পারি:

avail_modules = {}
distros = pkg_resources.find_distributions(path_to_search)
for d in distros:
    avail_modules[d.key] = d.version

এটি কী হিসাবে মডিউল এবং মান হিসাবে তাদের সংস্করণযুক্ত একটি অভিধান প্রদান করবে। এই পদ্ধতির সংস্করণ সংখ্যার চেয়ে অনেক বেশি বাড়ানো যেতে পারে।

সঠিক দিক নির্দেশ করার জন্য জাকুব কুকুলকে ধন্যবাদ


0

উইন্ডোজ ব্যবহারকারীদের জন্য এই উত্তরটি লেখা। অন্যান্য সমস্ত জবাব হিসাবে পরামর্শ হিসাবে, আপনি বিবৃতি হিসাবে ব্যবহার করতে পারেন:

import [type the module name]
print(module.__version__)      # module + '.' + double underscore + version + double underscore

তবে, কিছু মডিউল রয়েছে যা উপরের পদ্ধতিটি ব্যবহার করার পরেও তাদের সংস্করণটি প্রিন্ট করে না। সুতরাং, আপনি যা করতে পারেন তা হ'ল:

  1. কমান্ড প্রম্পট খুলুন।
  2. সিডি [ ফাইল ঠিকানা ] ব্যবহার করে ফাইল ঠিকানা / ডিরেক্টরিতে নেভিগেট করুন যেখানে আপনি আপনার অজগর এবং সমস্ত সমর্থনকারী মডিউল ইনস্টল করেছেন।
  3. " পিপ ইনস্টল [মডিউল নাম] " কমান্ডটি ব্যবহার করুন এবং এন্টার টিপুন।
  4. এটি আপনাকে " ইতিমধ্যে সন্তুষ্ট প্রয়োজনীয়তা: ফাইলের ঠিকানা \ ফোল্ডারের নাম (সংস্করণ সহ) " হিসাবে একটি বার্তা দেখাবে ।
  5. নিচের স্ক্রিনশটটি প্রাক্তনটির জন্য দেখুন: আমাকে "সেলেনিয়াম-স্ক্রিনশট" নামে একটি প্রাক ইনস্টল মডিউলটির সংস্করণটি জানতে হবে। এটি আমাকে 1.5.0 হিসাবে সঠিকভাবে দেখিয়েছে:

কমান্ড প্রম্পট স্ক্রিনশট


-1

আপনি প্রথমে এর মতো কিছু প্যাকেজ ইনস্টল করতে পারেন এবং তার সংস্করণটি পরীক্ষা করতে পারেন

pip install package
import package
print(package.__version__)

এটি আপনাকে প্যাকেজ সংস্করণ দেবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.