我有很多unittests,它们不是从/python2.7/site-packages/
而是从完全不同的目录导入内容。所以我要做的是用sys.path.append
在每个测试文件中做一些猴子补丁,让我的Python知道我需要什么。
有没有一种方法可以为整个Pycharm项目全局附加sys.path
,而不必为每个文件操心?
更新:
设置默认工作目录没有帮助。例如,如果我将工作目录设置为/Users/1111/_projects/_empty_dir/
,如下所示:
然后运行这个
import sys
for p in sys.path: print p
我看到的是
/Users/1111/.virtualenvs/blesk/bin/python /Users/1111/_projects/_testing_pycharm/importer.py
/Users/1111/_projects/_testing_pycharm
/Users/1111/.virtualenvs/blesk/lib/python2.7/site-packages/six-1.9.0-py2.7.egg
/Users/1111/.virtualenvs/blesk/lib/python2.7/site-packages/parse-1.6.6-py2.7.egg
/Users/1111/_projects/_testing_pycharm
/Users/1111/.virtualenvs/blesk/lib/python27.zip
/Users/1111/.virtualenvs/blesk/lib/python2.7
/Users/1111/.virtualenvs/blesk/lib/python2.7/plat-darwin
/Users/1111/.virtualenvs/blesk/lib/python2.7/plat-mac
/Users/1111/.virtualenvs/blesk/lib/python2.7/plat-mac/lib-scriptpackages
/Users/1111/.virtualenvs/blesk/lib/python2.7/lib-tk
/Users/1111/.virtualenvs/blesk/lib/python2.7/lib-old
/Users/1111/.virtualenvs/blesk/lib/python2.7/lib-dynload
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/Users/1111/.virtualenvs/blesk/lib/python2.7/site-packages
Process finished with exit code 0
在sys.path
上没有/Users/1111/_projects/_empty_dir/
。
这是一个相当简单的方法,遵循以下路径:
是的。
我在Mac电脑上,使用的是PyCharm 4.5.1专业版。你的平台和版本可能有点不同,但是如果你确定你使用的是最新版本,它应该可以工作。
编辑:我已更新此答案并上载了新的屏幕截图。
您需要设置工作目录和
PYTHONPATH
环境变量。工作目录设置要由正在运行的任务使用的目录。并且
PYTHONPATH
环境变量将目录添加到sys.path
转到
Run
->;Edit Configurations
在弹出的对话框中,导航到
Defaults
->;Python tests
->;Unittests
设置工作目录和
PYTHONPATH
环境变量,就都设置好了。测试将从该工作目录自动运行,并具有所需的sys.path。如果用冒号分隔,则可以在PYTHONPATH
环境变量中包含多个路径:
例如:
如果您已经有一些现有的测试配置,您可能希望删除它们,以便在运行测试或设置工作目录时重新创建它们,并为每个配置
PYTHONPATH
。可以从同一对话框窗口中删除它们Run
->;Edit Configurations
然后展开Python Tests
查看现有的测试配置如果不想删除现有的测试配置,只需分别为每个现有的测试配置指定工作目录。
相关问题 更多 >
编程相关推荐