开发Python模块

16 投票
4 回答
4338 浏览
提问于 2025-04-16 15:49

我想开始开发一个已经存在的Python模块。这个模块有一个源代码文件夹和一个setup.py脚本,用来构建和安装它。这个构建脚本其实就是把源文件复制过来,因为这些文件都是Python脚本。

现在,我把源代码文件夹放在了版本控制下,每次我做了修改,就重新构建和安装一次。这样做感觉有点慢,而且每次修改后都要“提交”我的更改到Python安装里,这让我觉得不太舒服。我该怎么做才能让我的导入语句指向我的开发目录呢?

4 个回答

2

首先安装 distrubute 这个包,然后使用开发者模式。只需要运行 python setup.py develop --user 这个命令,这样就会在你的用户目录下创建一些指向你工作区的路径。

7

之前提到过Virtualenv

而且因为你的文件已经在版本控制下了,你可以更进一步,使用Pip把你的代码库安装到你的工作环境中(或者安装特定的分支或标签)。

关于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

23

使用一个叫做 virtualenv 的工具,然后用 python setup.py develop 这个命令把你的模块链接到虚拟的Python环境里。这样一来,你项目里的Python包和模块就会自动出现在系统路径中,而不需要你去手动安装。

举个例子:

% virtualenv ~/virtenv
% . ~/virtenv/bin/activate
(virtenv)% cd ~/myproject
(virtenv)% python setup.py develop

撰写回答