我目前正在构建一个项目,该项目暗示来自不同语言的源代码,例如 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
:)
但是,当我用dpkg-buildpackage
命令打包 .deb 时,它安装的包/usr/lib/python2.7/site-package
不在 pythonpath 中。我看到你可以将一些路径附加到 python 路径,但.bashrc
如果不是绝对必要,我不想更改。
理想情况下,我想找到一种安装 python 模块的方法,/usr/lib/python2.7/dist-packages
但python setup.py install
不允许完整的安装路径参数。
聚苯乙烯:我已经尝试过--root $(DESTDIR)
参数而不是 --prefix,但这种方式安装在/usr/local/lib/python2.7/dist-packages
.并且安装一些文件/usr/local
是违反.deb打包规则的。另外,它不能以这种方式与自动工具一起使用。
答案1
更新:
似乎这取决于发行版,模块是否位于dist-packages
或中site-packages
。
我找到了这个发表在SO这可能有帮助。
德比安
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']
软件包安装在两个目录中。