我为我的一个任务构建了quickfix引擎(http://www.quickfixengine.org/),并且也为它构建了python支持。不幸的是,这是一个多用户环境,我没有访问oython安装路径。因此,make install命令尝试复制文件并失败。我设法注释了它试图做到这一点的两条线,并完成了make install。由于我无法将文件放在那里,我可以在哪里放置创建的.so文件。我如何让Python知道它在那里?我查看了python.ord文档,但它仅描述了setup.py安装的过程。此外,我试图把.so在sys.path中的路径,这没有奏效。还有关于python软件包解剖的文档吗?谢谢。如何手动安装python库
回答
我打算假设编译QuickFix包不会生成setup.py
文件,而只是编译Python绑定并依靠make install
将它们放在适当的位置。
在这种情况下,一个快速和肮脏的解决办法是编译QuickFix的来源,找到Python扩展模块(您的系统,这些末端用.so
扩展上显示),以及该目录添加到您的PYTHONPATH
环境变量例如,在您的shell配置文件中添加
export PYTHONPATH=~/path/to/python/extensions:PYTHONPATH
或类似的行。
更强大的解决方案将包括确保与./configure --prefix=$HOME/.local
编译。假设QuickFix知道将Python文件放在合适的site-packages
中,那么当您执行make install
时,它应该将文件安装到~/.local/lib/pythonX.Y/site-packages
,对于Python 2.6+,它应该已经在Python路径上作为per-user site-packages directory。
如果,另一方面,它确实提供了一个setup.py
文件,只需为Python 2.6+运行
python setup.py install --user
。
这里是安装Python模块的官方FAQ:http://docs.python.org/install/index.html
有一些技巧,这可以帮助你。
是的,我查看了它。但问题是它描述了如何安装这些东西被打包成一个python模块(用setup.py来安装),它不会告诉你如何安装一些库,它会在.so文件中留下一个。: – 2011-02-08 13:05:19
您需要将它安装在您的home文件夹的目录中,并以某种方式操纵PYTHONPATH,以便包含目录。
最好也是最简单的就是使用virtualenv。但是这需要安装,导致一个catch 22. :)但检查是否安装了virtualenv。如果安装了它,你可以这样做:
$ cd /tmp
$ virtualenv foo
$ cd foo
$ ./bin/python
然后,你可以运行安装像往常一样,用的/ tmp /富/蟒蛇的setup.py安装。 (显然你需要在你的主目录下的虚拟环境中创建虚拟环境,而不是在/ 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,你应该启动和运行!
- 1. 如何手动安装本地编译的python库(共享python库)到系统?
- 2. 安装Python库
- 3. Python库安装
- 4. 如何手动传递bzip2的安装源以进行Python安装?
- 5. SQL2000 - 手动安装
- 6. DoctrineFixturesBundle手动安装
- 7. 手动安装pyodbc
- 8. PhpPowerpoint手动安装
- 9. 如何在webhosting上手动安装umbraco?
- 10. 如何卸载手动安装的MongoDB
- 11. 如何手动安装自制软件
- 12. 如何手动从源代码安装
- 13. 如何手动安装vmware工具?
- 14. 如何手动安装cx_Oracle rpm?
- 15. 如何手动安装XS模块?
- 16. 如何手动安装流星?
- 17. 如何手动安装android sdks流星
- 18. 如何在Eclipse中手动安装WTP?
- 19. 如何手动安装node.js模块?
- 20. 如何手动安装Scala插件?
- 21. 如何在CentOS 5.5中手动安装Python模块?
- 22. 如何链接库来手动编译/安装Perl模块?
- 23. 如何在没有Xcode的情况下手动安装Phonegap库?
- 24. 安装cube2sphere Python库
- 25. 如何在heroku中安装python库
- 26. 如何在Visual Studio中安装Python库?
- 27. 如何在QGIS python中安装pandas库?
- 28. 如何使用/安装gps python库
- 29. 如何在linux中安装python库?
- 30. 如何离线安装ruamel.yaml python库?
“另外我试图在sys.path中放入.so的路径,但没有奏效。“您是否曾尝试从脚本(或交互式会话)中将扩展模块导入与扩展名为`.so`的文件相同的目录? – gotgenes 2011-02-10 03:57:44