私は現在、C、C ++、一部の自社製Pythonモジュールなど、さまざまな言語のソースコードを暗示するプロジェクトを構築しています。私はAutomake / Autotoolsを使ってソースコードをインストールしています。ここでの問題は、これで.debをビルドするときにいくつかの問題が発生することです。
- インストールする
Pythonのインストールは、次のようにMakefile.amで実行されます。
$(PYTHON) setup.py install \
--prefix $(DESTDIR)$(prefix) \
--record $(DESTDIR)$(sysconfdir)/nina/nina_installed_files.txt \
--verbose
実行時にうまく機能しますmake install
(インストールパス/usr/local/lib/python2.7/dist-packages
:)
しかし、package .debコマンドを使用すると、インストールされているdpkg-buildpackage
パッケージは/usr/lib/python2.7/site-package
pythonpathにありません。 Pythonパスにいくつかのパスを追加できますが、.bashrc
必ずしも必要でない限り変更したくありません。
理想的には、完全なインストールパスパラメータを許可せ/usr/lib/python2.7/dist-packages
ずにPythonモジュールをインストールする方法を探したいと思います。python setup.py install
ポリスチレン--root $(DESTDIR)
: --prefix 以外のパラメータを試しましたが、この方法/usr/local/lib/python2.7/dist-packages
で/usr/local
.deb パッケージングルールに違反します。また、このように自動ツールと一緒に使用することはできません。
答え1
修正する:
ディストリビューションによってはモジュールが入ったりdist-packages
出たりしないようですsite-packages
。
私はこれを見つけましたSOに公開これが役に立ちます。
Debian
python -c "import sys;print(sys.path)"
返品
[(..),'/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', (..)]
パッケージは次の場所にインストールされます。/usr/lib/python2.7/dist-packages
CentOS
..返品
[(..), '/usr/lib64/python2.7/site-packages', '/usr/lib/python2.7/site-packages']
パッケージは2つのディレクトリにインストールされます。