インストール後、インストールによって作成された構成ファイルとデータ ファイルの一部へのソフト リンクを作成したいと考えています。
パッケージの setup.py 内からインストールされた新しいパッケージのファイルの場所を特定するにはどうすればよいですか?
最初はパス「/usr/local/lib/python2.7/dist-packages」をハードコードしましたが、仮想環境を使用しようとすると壊れました。(virtualenv で作成)
distutils.sysconfig.get_python_lib() を試してみましたが、それは virtualenv 内で動作します。ただし、実際のシステムにインストールすると、「/usr/lib/python2.7/dist-packages」が返されます (「ローカル」ディレクトリが存在しないことに注意してください)。
site.getsitepackages() も試しました:
ベース環境から Python シェルを実行します。
輸入サイト
site.getusersitepackages()
「/home/sarah/.local/lib/python2.7/site-packages」
site.getsitepackages()
['/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
仮想環境「testenv」から Python シェルを実行する:
輸入サイト
site.getsitepackages()
トレースバック (最新の呼び出しが最後):
ファイル ""、1 行目、
AttributeError: 'module' オブジェクトに属性 'getsitepackages' がありません
Ubuntuで「Linux2の[GCC 4.6.3]」を使用して「Python 2.7.3(デフォルト、2012年8月1日、05:14:39)」を実行しています。おそらくtry-exceptブロックと一緒に何かをまとめることができますが、distutils / setuptoolsによって設定/返される変数がいくつかあるはずです。(動作する限り、どのブランチを使用するかはわかりません。)
ありがとう。