如何手动安装python库

时间:2011-02-08 12:50:09

标签: python package quickfix

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

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

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

此外,我尝试将{em> .so 的路径放在sys.path中,但这并不起作用。有没有关于python包解剖的文件?感谢。

3 个答案:

答案 0 :(得分:17)

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

在这种情况下,一个快速而又脏的修复方法是编译QuickFix源代码,找到Python扩展模块(您在系统上用.so扩展名表示),然后将该目录添加到{{{ 1}}环境变量,例如,添加

PYTHONPATH

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

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

另一方面,如果确实提供了~/.local/lib/pythonX.Y/site-packages文件,只需运行

即可
setup.py

for Python 2.6 +。

答案 1 :(得分:3)

您需要将其安装在主文件夹的目录中,并以某种方式操纵PYTHONPATH以便包含该目录。

最好和最简单的是使用virtualenv。但这需要安装,导致捕获22. :)但检查是否安装了virtualenv。如果已安装,您可以这样做:

$ cd /tmp
$ virtualenv foo
$ cd foo
$ ./bin/python

然后您可以像往常一样运行安装,使用/ tmp / foo / python setup.py install。 (显然你需要在你的主目录中的一个文件夹中创建虚拟环境,而不是在/ tmp / foo .;)中)

如果没有virtualenv,您可以安装自己的本地Python。但这也许是不允许的。然后,您可以将软件包安装在软件包的本地目录中:

$ wget http://pypi.python.org/packages/source/s/six/six-1.0b1.tar.gz#md5=cbfcc64af1f27162a6a6b5510e262c9d
$ tar xvf six-1.0b1.tar.gz 
$ cd six-1.0b1/
$ pythonX.X setup.py   install --install-dir=/tmp/frotz

现在你需要将/tmp/frotz/pythonX.X/site-packages添加到你的PYTHONPATH中,你应该启动并运行!

答案 2 :(得分:2)

以下是有关安装Python模块的官方常见问题解答:http://docs.python.org/install/index.html

有些提示可能会对您有所帮助。