如何在python中切换测试代码和生产代码?

时间:2015-07-23 17:14:49

标签: python

我有一个不断发展的项目。我已经使用项目的site-packages脚本在我的python发行版的setup.py目录中安装了该项目的版本。

但是,当我对项目进行更改时,我希望我的测试脚本能够找到项目目录下的文件而不是site-packages中找到的文件。这样做的正确方法是什么?我只知道一种方法是使用sys.path修改测试脚本本身的搜索路径,但这意味着我不能使用相同的脚本来测试代码的“已安装”版本而不编辑{ {1}}再次。

2 个答案:

答案 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 .