python - 如何手动安装python库

标签 python package quickfix

我为我的一项任务构建了 quickfix 引擎 (http://www.quickfixengine.org/),并且还为它内置了 python 支持。

不幸的是,这是一个多用户环境,我无权访问 python 安装路径。因此 make install 命令尝试复制文件并失败。我设法注释掉它试图这样做的两行并且 make install 完成。由于我无法将文件放在那里,我可以将创建的 .so 文件放在哪里?

我如何让 python 知道它在那里?我查看了 python.org 文档,但它只描述了 setup.py 安装的过程。

我还尝试将 .so 的路径放在 sys.path 中,但没有成功。是否有任何关于 python 包解剖结构的文件?谢谢。

最佳答案

我将假设编译 QuickFix 包不会生成 setup.py 文件,而是仅编译 Python 绑定(bind)并依赖 make install 来放置将它们放在适当的位置。

在这种情况下,一个快速而肮脏的解决方法是编译 QuickFix 源代码,找到 Python 扩展模块(您在系统上指出这些模块以 .so 扩展名结尾),然后添加该目录到您的 PYTHONPATH 环境变量,例如,添加

export PYTHONPATH=~/path/to/python/extensions:PYTHONPATH

或您的 shell 配置文件中的类似行。

更强大的解决方案包括确保使用 ./configure --prefix=$HOME/.local 进行编译。假设 QuickFix 知道将 Python 文件放在适当的 site-packages 中,当您执行 make install 时,它应该将文件安装到 ~/.local/lib/pythonX.Y/site-packages,对于 Python 2.6+,它应该已经作为 per-user site-packages directory 在您的 Python 路径中.

另一方面,如果它确实提供了 setup.py 文件,则只需运行

python setup.py install --user

适用于 Python 2.6+。

关于python - 如何手动安装python库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4933224/

相关文章:

python - 在 python 中从文件动态更改值

python数据框转换多种日期时间格式

java - 在 GraalVM 中安装 R 包的问题

c++ - 如何在 c++ 的 quickfixc 中动态地就 SenderCompID 和 TargetCompID 达成一致?

c# - 如何以人类可读的格式记录 QuickFix 消息

python - 对于 __init__ 中的非配置数据来说 **kwargs 是一个不错的选择吗?

python - pip 名冲突

android - 查找系统应用程序的包和 Activity 名称?

java - 使用quickfixj时如何获取TradeCaptureReport(AE)消息?

python - 如何从列表中查找和删除图像的重叠切片?