我有一个不断发展的项目。我已经使用项目的site-packages
脚本在我的python发行版的setup.py
目录中安装了该项目的版本。
但是,当我对项目进行更改时,我希望我的测试脚本能够找到项目目录下的文件而不是site-packages
中找到的文件。这样做的正确方法是什么?我只知道一种方法是使用sys.path
修改测试脚本本身的搜索路径,但这意味着我不能使用相同的脚本来测试代码的“已安装”版本而不编辑{ {1}}再次。
答案 0 :(得分:1)
我不太确定你在问什么,但你可以使用
python setup.py develop
创建项目的开发版本
https://pythonhosted.org/setuptools/setuptools.html#development-mode
在正常情况下,distutils假设你要去 建立你的项目的分布,而不是在它的“原始”或 “未建立”的形式。如果你以这种方式使用distutils,你会的 每次你做一个时都必须重建并重新安装你的项目 在开发过程中改变它。
有时候出现问题的另一个问题是你 可能需要同时在两个相关项目上进行开发。 您可能需要将两个项目的包放在同一目录中 运行它们,但需要将它们分开以进行版本控制 目的。你怎么能这样做?
Setuptools允许您部署项目以便在公共项目中使用 目录或暂存区域,但不复制任何文件。因此,你 可以在其结帐目录中编辑每个项目的代码,只需要 更改项目的C扩展名时运行构建命令 类似编译的文件。您甚至可以将项目部署到另一个项目中 项目的结帐目录,如果这是您首选的工作方式 (而不是使用共同的独立临时区域或 site-packages目录)。
答案 1 :(得分:1)
使用“ Editable”软件包安装,例如:
pip install -e path/to/SomeProject
假设我们与setup.py在同一目录中,则命令为:
pip install -e .