ユーザーがsetuptoolsの「easy_install」を利用できるか、「easy_install」の配布バージョンを持っているかどうか、Pythonからプログラムで確認する方法はありますか?
それらのどれが利用可能かを知りたいです(理想的には、どれがシステムによって「使用中」です)。
これはどのように行うことができますか?ありがとう。
ユーザーがsetuptoolsの「easy_install」を利用できるか、「easy_install」の配布バージョンを持っているかどうか、Pythonからプログラムで確認する方法はありますか?
それらのどれが利用可能かを知りたいです(理想的には、どれがシステムによって「使用中」です)。
これはどのように行うことができますか?ありがとう。
イージーインストールベース向け
>>> import pkg_resources
>>> pkg_resources.get_distribution('setuptools')
setuptools 0.6c11 (t:\tmp\easyinstall\lib\site-packages\setuptools-0.6c11-py2.7.egg)
>>> pkg_resources.get_distribution('setuptools').project_name
'setuptools'
配信ベースの場合
>>> import pkg_resources
>>> pkg_resources.get_distribution('setuptools')
distribute 0.6.31 (t:\tmp\distribute\lib\site-packages\distribute-0.6.31-py2.7.egg)
>>> pkg_resources.get_distribution('setuptools').project_name
'distribute'
含まれているpkg_resources
ライブラリsetuptools
を使用して、が利用可能かどうか、利用可能である場合はそのバージョンを検出します。をインポートできない場合pkg_resources
は、setuptools
ライブラリがインストールされていません。ピリオド:
try:
import pkg_resources
except ImportError:
print "No setuptools installed for this Python version"
else:
dist = pkg_resources.get_distribution('setuptools')
print dist.project_name, dist.version
プロジェクト名は、またはのいずれdistribute
かsetuptools
です。私にとって、これは次のように出力されます:
>>> import pkg_resources
>>> dist = pkg_resources.get_distribution('setuptools')
>>> print dist.project_name, dist.version
distribute 0.6.32
利用可能な情報の詳細については、Distribution
属性のドキュメントを参照してください。