开发库模块时设置Python路径
我正在开发一个库和一个使用这个库的应用程序,都是用Python 2.6写的。我在“site-packages”文件夹里放了一个“mylib.pth”文件,这样我就可以在我的应用程序里用import mylib
来引入这个库。
我使用的是分布式版本控制系统(DVCS),所以当我想修复一个bug或者给库添加新功能时,我会从代码库里创建一个分支,然后在这个分支上进行工作。为了测试我在库里做的更改,我会修改“mylib.pth”文件里的路径,让它指向新的开发分支。
不过,如果我同时有几个并行的库分支,这样就有点麻烦了。在每次测试之前,我都得不断修改“mylib.pth”文件,以确保我测试的是库的正确版本。有没有什么办法可以在启动我的应用程序时,直接使用当前的路径(也就是我现在所在的库的开发分支)来设置库的路径,而不是使用全局“site-packages”目录里的“mylib.pth”?
6 个回答
2
如果你使用的是setuptools工具,那么在你的工作目录里输入 setup.py develop
这个命令,它会自动帮你处理.pth文件的相关操作。
4
推荐阅读:现代Python黑客的工具:Virtualenv、Fabric和Pip。这篇文章讨论了在开发和部署Python应用时遇到的一些问题。
4
你在找的可能就是virtualenv。从它的描述来看:
想象一下,你有一个应用程序需要使用LibFoo的1.0版本,但另一个应用程序却需要2.0版本。那你该怎么同时使用这两个应用呢?如果你把所有东西都安装到/usr/lib/python2.4/site-packages(或者你平台的标准位置),那么很容易就会遇到一个问题:你可能会不小心升级一个不应该升级的应用。