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

问题描述 投票:0回答:1

我正在开发一个在 virtualenv 中使用 Python 3 的 Django 项目。我刚刚遇到了 Fabric,它只能在 Python 2 下工作,所以我在系统范围内安装了它,而不是在我的 virtualenv 中(顺便说一句,是否可以将其放入我的 Python 3 virtualenv 中?)。

这里的问题是我已将 PyCharm 设置为使用 Python 3 作为解释器,并为 Python 2 安装了 Fabric。当我编辑 Fabric 文件时,它说所有来自 Fabric 的导入都是未知的。

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

python python-3.x pycharm fabric
1个回答
5
投票

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

  1. 退出 PyCharm
  2. 导航到项目的
    .idea
    文件夹
  3. 编辑
    modules.xml
    • 复制
      <module>
      行并更改
      fileurl
      filepath
      属性。完成后我的看起来像这样:
<?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>
  1. $PROJECT_NAME.iml
    复制到您为新模块指定的名称。就我而言,我做了:
    cp dataops.iml dataops_py27.iml

  2. 在 PyCharm 中打开备份项目并转到

    Preferences > Project > Project Interpreter.
    您将看到两个模块(初始模块和刚刚创建的新模块)。选择新的解释器并通过单击窗口右上角的齿轮图标并选择
    Add...

    来配置解释器
  3. 转到

    Preferences > Project > Project Structure.
    确保选择了新模块,删除旧的内容根目录并添加新的内容根目录。

注意:如果文件夹中有很多文件,并且不希望新添加的解释器应用于所有文件,您可以在位于

Exclude files:
设置底部的
Preferences > Project > Project Structure
文本框中排除它们。

© www.soinside.com 2019 - 2024. All rights reserved.