如何在pycharm中全局管理sys.path

时间:2015-06-18 19:58:24

标签: python pycharm

我有一堆单元测试可以导入不是来自/python2.7/site-packages/但来自完全不同的目录的东西。所以我所做的就是用sys.path.append在每个测试文件中做一些猴子修补,让我的Python看到我需要的东西。

有没有办法在整个Pycharm项目中全局追加sys.path而不必费心去处理每个文件?

更新: 设置默认工作目录没有帮助。例如,如果我将工作目录设置为/Users/1111/_projects/_empty_dir/,如下所示:

screenshot

然后运行此

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

/Users/1111/_projects/_empty_dir/上没有sys.path

3 个答案:

答案 0 :(得分:4)

我在Mac上,使用PyCharm 4.5.1专业版。您的平台和版本可能会有所不同,但如果您确定使用的是最新版本,它应该可以正常工作。

编辑:我已更新此答案并上传了新的屏幕截图。

您想要的是设置工作目录 PYTHONPATH环境变量。

工作目录设置正在运行的任务使用的目录。并且PYTHONPATH环境变量将目录添加到sys.path

转到Run - > Edit Configurations

在出现的对话框中,导航至Defaults - > Python tests - > Unittests

设置您的工作目录和PYTHONPATH环境变量,您已完成设置。您的测试将自动从该工作目录运行,并具有您想要的sys.path。如果您使用冒号PYTHONPATH

将它们分开,则可以在:环境变量中包含多个路径

例如:

PYTHONPATH=/path/to/dir:/path/to/other/dir

如果您已经有一些现有的测试配置,您可能希望删除它们,以便在运行测试时重新创建它们或为每个配置设置工作目录和PYTHONPATH。您可以从同一个对话框窗口中删除它们

Run - > Edit Configurations然后展开Python Tests以查看您现有的测试配置

如果您不想删除现有的测试配置,只需为每个现有测试配置单独指定工作目录。

enter image description here

答案 1 :(得分:3)

这是一个相当简单的方法,请遵循以下路径:

  1. 设置
  2. 项目:
  3. 项目解释器
  4. 选择要为其更新sys.path的解释器
  5. 找到右下角的图标,“显示所选口译员的路径”
  6. 将文件夹添加到路径列表。

答案 2 :(得分:3)

现在有一种更好的方法。您可以Mark Directory as作为Sources root。右键单击Project中的任何目录,此选项将显示在底部。