Version control VCS和Python项目结构:如何自动设置Python路径?
网上有很多关于Python项目的结构可以/应该是什么的建议,例如 Python世界中的许多人似乎更喜欢“src dir”和“proj dir”相等(或非常相似)。但是,脚本和测试肯定必须从src dir导入一些模块,因此我必须Version control VCS和Python项目结构:如何自动设置Python路径?,version-control,pythonpath,project-structure,Version Control,Pythonpath,Project Structure,网上有很多关于Python项目的结构可以/应该是什么的建议,例如 Python世界中的许多人似乎更喜欢“src dir”和“proj dir”相等(或非常相似)。但是,脚本和测试肯定必须从src dir导入一些模块,因此我必须 当proj dir作为当前工作目录时,运行所有脚本和测试,或 PYTHONPATH必须包含proj目录,对吗 或者,还有其他我现在忽略的可能性吗 假设我有这样的结构,并且正确地设置了蟒蛇路径。现在,我将项目提交给VCS,另一个开发人员检查该项目。在他的机器上,PYTH
- 当proj dir作为当前工作目录时,运行所有脚本和测试,或
- PYTHONPATH必须包含proj目录,对吗
即使项目结构很复杂,并且测试用例在不同的包中使用src,您也可以在Windows环境变量中添加PYTHONPATH 我的计算机-->属性-->系统属性-->高级选项卡-->环境变量。添加新的系统变量PYTHONPATH,并使用分隔符“;”将您的projects dir附加到该变量 我建议您在项目中保留readme.txt,它清楚地说明了如何添加PYTHONPATH以运行脚本。这与添加android sdk的路径使adb shell工作类似,添加Java路径使Java在命令提示符下工作 因此,readme.txt有助于在不同的机器上下载时运行脚本,只需一次更改(添加值为projectpath的PYTHONPATH变量) 为了使使用src的测试用例正常工作,不需要添加src的所有模块 以下是一个项目结构示例:
SAMPLEPROJECT
src
com
sample
example
utils
a.py
b.py
testcases
test1.py
test2.py
res
docs
如果test1.py测试用例使用a.py和b.py:
不要将utils模块添加到PYTHONPATH中,因为您已经将项目路径添加到PYTHONPATH中。您的import语句在test1.py中类似于此
from src.com.sample.example.utils import a.py
from src.com.sample.example.utils import b.py
from src.com.sample.example.utils import a.py
from src.com.sample.example.utils import b.py