【问题标题】:Can I have multiple subfolders with virtual python environments in VS Code?我可以在 VS Code 中有多个带有虚拟 python 环境的子文件夹吗?
【发布时间】:2021-12-10 23:36:35
【问题描述】:

我有一个这样的 monorepo:

myRepo/
├─ project_1/
│  ├─ .venv/
│  ├─ main.py
├─ project_2/
│  ├─ .venv/
│  ├─ main.py
├─ .gitignore
├─ README.md
  • VS Code 能否处理子文件夹中的多个 python venv?

经过一番谷歌搜索后,我找到了一个解决方案,但它不是很优雅。我创建了一个工作区并添加了文件夹/project_1/project_2,它们可以正常工作,我可以轻松地切换和选择 Python Interpreter。我还需要不时修改/root 中的文件,所以我也添加了这个文件夹。所有这些都使得 Explorer 文件夹结构变得更大,并且更加杂乱无章:

workspace/
├── myRepo/
│   ├── project_1/
│   │   ├── .venv/
│   │   └── main.py
│   ├── project_2/
│   │   ├── .venv/
│   │   └── main.py
│   ├── .gitignore
│   ├── README.md
│   └── myRepo/
├── project_1/
│   ├── .venv/
│   └── main.py
└── project_2/
    ├── .venv/
    └── main.py

【问题讨论】:

标签: python visual-studio-code virtualenv python-venv


【解决方案1】:

VS Code 有一个list of places, where it looks for virtual environments。只有位于工作区正下方的环境才会被自动拾取。不过,您也可以在运行 Python: Select Interpreter 命令时输入自定义路径。只需选择“输入解释器路径...”并导航到您的 venv 的 /bin/python 可执行文件:

一旦您使用了自定义解释器路径,VS 代码就知道该路径,并且可以使用 Python: Select Interpreter 命令直接选择。

【讨论】:

  • 如果这对你有用,那么我这边肯定有问题。我已经尝试了几次,它只是换回了我上次使用的解释器。你确定这在子目录中有效吗?
  • 这适用于工作区中的任何路径(甚至工作区外)。您是否在第三个屏幕截图中的“查找...”选项上按了返回?这应该会打开一个树形视图,您可以在其中浏览您的目录。请务必选择 python 二进制文件,而不是 venv 的路径。我将用另一个屏幕截图更新答案。
  • 嗯,是的,我使用的 Finder 导航器不起作用 - 但在没有导航器的情况下编写路径时它实际上可以工作 ./project_1/.venv/bin/python 我在 macOS 顺便说一句。看起来它有点马车。谢谢!
猜你喜欢
  • 2020-05-04
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 1970-01-01
  • 2022-11-21
  • 2021-07-02
  • 1970-01-01
相关资源
最近更新 更多