网络上有很多建议,例如Python项目的结构可以/应该是什么,例如Python应用程序的最佳项目结构是什么?
"proj-dir"
+- doc
+- apidoc
+- scripts
+- "src-dir"
+- tests
看来,Python世界中的许多人更喜欢" SRC-DIR"one_answers" Proj-Dir"是平等的(或非常相似的)。但是,脚本和测试肯定必须从SRC-DIR导入一些模块,因此我必须
- 当proj-dir作为我当前的工作dir或 时,运行所有脚本和测试
- pythonpath必须包含proj-dir,对吗?
或,我现在忽略了其他可能性吗?
假设我有这样的结构,并且已经正确设置了PythonPath。现在,我将项目投入VC,另一个开发人员检查了该项目。在他的机器上,pythonpath将无法正确设置,并且在脚本和测试中的导入将不起作用。
- 是否有可能使PythonPath定义部分成为项目的一部分,以便它可以成为版本控制的一部分?
- 是否有不同的项目结构,可以让我进行结帐并开始使用该项目而不修改PythonPath?
- 是在这里建议的解决方案:python-如何使用复杂的目录结构进行pythonpath?(即,在每个脚本中包括一个简短的sys.path修改摘要并测试)?
- 网站模块http://docs.python.org/2/library/site.html有任何帮助吗?
- 开发具有类似结构的项目时您的工作流程是什么?
即使通过项目结构很复杂,并且Testcases在不同的软件包中使用SRC,您可以在Windows中的环境变量中添加PythonPath
我的计算机 ->属性 ->系统属性 ->高级选项卡 ->环境变量。添加新系统变量PythonPath,并使用定界符';'
将您的项目dir附加到该变量我建议您将readme.txt保留到您的项目中,这清楚地说明了如何添加PythonPath以运行脚本。它与添加Android-SDK的路径一样相似,以使ADB shell工作,添加Java路径以使Java在命令提示中工作
因此,readme.txt在仅使用一个更改的不同机器下载时有助于运行脚本(添加pythonpath变量with value = projectpath)
无需添加SRC的所有模块以使使用SRC
的测试柜起作用这是一个示例proj结构:
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,因为您已经将项目路径添加到Python路径,您的导入语句在test1.py
中看起来像这样。from src.com.sample.example.utils import a.py
from src.com.sample.example.utils import b.py