在PyCharm中为特定文件设置不同的解释器

时间:2015-07-03 18:18:33

标签: python python-3.x pycharm fabric

我正在开发一个在virtualenv中使用Python 3的Django项目。我刚刚遇到了结构,它只能在Python 2下运行,所以我在系统范围内安装它而不是在我的virtualenv中(甚至可以将它放在我的Python 3 virtualenv中,顺便说一下?)。

这里的问题是我将PyCharm设置为使用Python 3作为解释器并为Python 2安装了结构。当我编辑我的结构文件时,它表示所有从结构中导入的内容都是未知的。

有什么办法可以解决这个问题吗?是否可以指定我的结构文件使用Python 2解释器而不是Python 3或其他解决方案?

1 个答案:

答案 0 :(得分:1)

这是可以做到的(至少对于当前的PyCharm 2018.2.4而言),但是这需要一些手动操作,并且无法通过GUI完成。

  1. 退出PyCharm
  2. 导航到项目的.idea文件夹
  3. 编辑modules.xml
    • 复制<module>行,并更改fileurlfilepath属性。完成后,我的样子是这样的: <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ProjectModuleManager"> <modules> <module fileurl="file://$PROJECT_DIR$/.idea/dataops.iml" filepath="$PROJECT_DIR$/.idea/dataops.iml" /> <module fileurl="file://$PROJECT_DIR$/.idea/dataops_py27.iml" filepath="$PROJECT_DIR$/.idea/dataops_py27.iml" /> </modules> </component> </project>
  4. $PROJECT_NAME.iml复制到您为新模块指定的名称。就我而言: cp dataops.iml dataops_py27.iml

  5. 在PyCharm中备份您的项目,然后转到Preferences > Project > Project Interpreter.,您将看到两个模块(初始模块和刚创建的新模块)。单击窗口右上角的齿轮图标,然后选择Add...

  6. ,选择新的译员并配置解释器。
  7. 转到Preferences > Project > Project Structure.确保已选择新模块,删除旧内容根并添加新模块。

注意:如果文件夹中有许多文件,并且不想将新添加的解释器应用于所有文件,则可以在{{1}底部的Exclude files:文本框中排除它们} 设置。