我想开始开发现有的Python模块。它有一个源文件夹和setup.py脚本来构建和安装它。构建脚本只复制源文件,因为它们都是python脚本。
目前,我已将源文件夹置于版本控制之下,每当我进行更改时,我都会重新构建并重新安装。这似乎有点慢,而且每次修改时我都不能很好地“改变”我的python安装。如何使我的import语句重定向到我的开发目录?
答案 0 :(得分:22)
使用virtualenv并使用python setup.py develop
将模块链接到虚拟Python环境。这将使您的项目的Python包/模块显示在sys.path上,而无需运行安装。
示例:
% virtualenv ~/virtenv
% . ~/virtenv/bin/activate
(virtenv)% cd ~/myproject
(virtenv)% python setup.py develop
答案 1 :(得分:7)
Virtualenv已被提及。
由于您的文件已经受版本控制,您可以更进一步,使用Pip将您的仓库(or a specific branch or tag)安装到您的工作环境中。
请参阅Pip 可编辑选项的文档:
-e VCS+REPOS_URL[@REV]#egg=PACKAGE, --editable=VCS+REPOS_URL[@REV]#egg=PACKAGE
直接从结帐安装包。资源 将被签出到src / PACKAGE(小写)和 就地安装(使用setup.py develop)。
现在你可以处理pip自动检出的文件,当你想要它时,你提交你的东西并将它推回到原始存储库。
要获得有关Pip和Virtualenv的优秀概述,请参阅此帖:http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django
答案 2 :(得分:2)
安装distrubute
包,然后使用开发者模式。只需使用python setup.py develop --user
,这会将用户目录位置中的路径指针放到工作区中。
答案 3 :(得分:0)
将PYTHONPATH更改为源目录。一个好主意是使用像ECLIPSE这样的IDE来覆盖默认的PYTHONPATH。