47

我需要帮助。无论我尝试什么,VSCode 都永远找不到诗歌 virtualenv 解释器。

使用官方文档$ curl中解释的标准方法安装了诗歌 Python 包管理器。

启动了一个项目$ poetry new finance-essentials_37-64,安装了诗歌环境$ poetry install

所以现在我可以看到我确实有一个虚拟环境:

Jaepil@Jaepil-PC MINGW64 /e/VSCodeProjects/finance_essentials_37-64 $ poetry env list 
>> finance-essentials-37-64-SCQrHB_N-py3.7 (Activated)

并且这个 virtualenv 安装在: C:\Users\Jaepil\AppData\Local\pypoetry\Cache\virtualenvs,它有finance-essentials-37-64-SCQrHB_N-py3.7目录。

但是,VSCode 无法在其“选择解释器”命令中找到此虚拟环境。我只看到一堆 Anaconda 和 Pipenv 环境,但没有看到我刚刚制作的诗歌环境解释器。

我也按照此处的建议添加"python.venvPath": "~/.cache/pypoetry/virtualenvs",了我的内容,但无济于事。还是不行。settings.json

我还尝试了绝对路径,通过添加"python.venvPath": "C:\\Users\\Jaepil\\AppData\\Local\\pypoetry\\Cache\\virtualenvs",相同的设置,但它也不起作用。

VSCode 设置参考声明它具有python.poetryPath默认设置,但它似乎也不起作用。"poetry"在这种情况下我应该更改默认值吗?

python.poetryPath

“诗歌”

指定 Poetry 依赖管理器可执行文件的位置(如果已安装)。默认值“诗歌”假定可执行文件位于当前路径中。当 Poetry 可用并且工作区文件夹中有一个poetry.lock 文件时,Python 扩展使用此设置来安装包。

我在 Windows 10 pro 64bit 上并且系统上安装了 Python 3.7.6。

PS C:\Users\Jaepil> python
Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] on win32
4

3 回答 3

107

你只需要输入你的shell:

poetry config virtualenvs.in-project true

virtualenv 将在项目路径中创建,vscode 将识别。


如果您已经创建了项目,则需要重新创建 virtualenv 以使其出现在正确的位置:

poetry env list  # shows the name of the current environment
poetry env remove <current environment>
poetry install  # will create a new environment using your updated configuration
于 2020-10-19T20:14:31.687 回答
39

您需要在设置"python.venvPath": "C:\\Users\\Jaepil\\AppData\\Local\\pypoetry\\Cache\\virtualenvs"中进行设置(您尝试的是 UNIX)。

您还可以 https://github.com/microsoft/vscode-python/issues/8372帮助优先将 Poetry 虚拟环境支持添加到 Python 扩展。

于 2020-01-28T22:16:49.793 回答
0

您可以将 virtualenvs 文件夹添加到"python.venvFolders"vs 代码全局设置中。

就像 Windows 一样:

"python.venvFolders": [
    "C:\\Users\\User\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\"
  ]
于 2021-09-13T05:34:53.607 回答