我有一个像这样的Python项目:
project/
project/code
project/code/requirements.txt
project/fabfile
project/fabfile/requirements.txt
project/code
是一个Python3项目,所以我需要使用该SDK。
project/fabfile
必须是python2,因为Fabric目前不支持python3。
在命令行上,我有两个 virtualenv 来管理它,但在 IntelliJ 中(使用 python 插件),我将 SDK 设置为 Python3,并将 virtualenv 用于项目 SDK。因此,它没有检测到 fabfile/ 中的不同要求,并将 python2 语法标记为错误。
我怎样才能让它使用不同的 SDK?
如果您使用 IntelliJ IDEA,您可以设置多模块项目,并为每个模块分配不同的解释器。创建一个以“code”作为内容根的模块,另一个以“fabfile”作为内容根的模块。
据我所知,我不认为你可以同时使用不同的解释器
您必须在每个项目上切换口译员
转到“首选项”>“项目解释器”并将解释器指向您的虚拟环境
假设以下存储库结构:
.
├── README.md
└── components
└── module_A
├── src/...
│ └── pyproject.toml
└── module_B
├── src/...
└── pyproject.toml
在 IntelliJ IDEA 2024 中,使用 JetBrains Python 插件:
File
-> Project Structure
-> Modules
Sources
选项卡components
目录标记为排除)File
-> Project Structure
-> Modules
+
-> Import Module
components/module_A
)Create module from existing sources
并单击Next
Next
和 Create
Add
-> Framework
-> Python
。这将打开一个窗口,供您为该模块配置 Python 解释器。在此之后,我还没有在 IDE 中测试运行代码,但我可以在每个模块下的文件中使用完整的代码完成和导航,并且该模块解释器的所有依赖项都是可见的。