10

私の質問は、これらの異なる Linux ディストリビューションで同じバージョンの Python を使用していることを前提としています。仮想環境も質問から除外します。

Debian ベースのディストリビューション Ubuntu を使用しています。Python 標準ライブラリ (Python で記述されたモジュール/パッケージ) へのパスは/usr/lib/python2.7. 「外部」python パッケージへのパスは/usr/local/lib/python2.7/dist-packages.

これらのパスを取得するためのシステムに依存しない方法は、非常に高く評価されています。

編集1

私が見つけた:

>>> from distutils.sysconfig import get_python_lib
>>> print get_python_lib()
/usr/local/lib/python2.7/dist-packages

>>> print get_python_lib(standard_lib=True)
/usr/lib/python2.7

編集2

最初の編集のアプローチは非推奨だと思います。これは、python2.5 ドキュメントまでしか見つけることができないためです。新しいアプローチ (2.7 ドキュメント内):

>>> import sysconfig
>>> sysconfig.get_path_names()
('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', 'scripts', 'data')
>>> print sysconfig.get_path('platlib')
/usr/local/lib/python2.7/dist-packages

/usr/lib/python2.7sysconfigで見つける方法はまだ見つかりません。今のところ、非推奨のアプローチで作業し、これが望ましい結果をもたらすという仮定の下で続行します。

4

2 に答える 2

7

はい、違います。たとえば、CentOS 5.6 では、python 外部モジュールは に配置され/usr/lib/python2.6/site-packagesます。実際dist-packagesにはdebian固有のディレクトリです。

于 2012-08-06T09:24:20.767 に答える
1

このテーマの詳細については、ここ http://www.aosabook.org/en/packaging.htmlから読むことができます。 $ パッケージをソフトウェア リポジトリにデプロイする場合のパッケージングとライブラリの場所について説明しています。

これについてはブログで少し話しましたので、ご覧になり、フィードバックをお寄せください。

http://insidepython.wordpress.com/2012/08/03/quickintro/

乾杯

于 2012-08-06T09:30:06.893 に答える