VSCode 在选择解释器选项中不显示诗歌虚拟环境



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

使用标准$ 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)

并且这个虚拟环境安装在:C:UsersJaepilAppDataLocalpypoetryCachevirtualenvs,它有finance-essentials-37-64-SCQrHB_N-py3.7目录。

但是,VSCode 无法在其"选择解释器"命令中找到此 virtualenv。我只看到一堆蟒蛇和皮彭夫的环境,但没有看到我刚刚制作的诗歌环境的解释器。

我还按照此处的建议将"python.venvPath": "~/.cache/pypoetry/virtualenvs",添加到我的settings.json中,但无济于事。 仍然不起作用。

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

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

python.poetryPath

"诗歌">

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

我使用的是Windows 10 pro 64位,系统上安装了Python 3.7.6。

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

你只需要输入你的shell:

poetry config virtualenvs.in-project true

虚拟环境将在项目路径中创建,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

您需要在设置中设置"python.venvPath": "C:\Users\Jaepil\AppData\Local\pypoetry\Cache\virtualenvs"(您尝试的设置适用于UNIX(。

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

VS Code 中 Python 扩展的设置已更改。在将日期python.pythonPath设置(您的设置可能python.venvPath(更改为在 VS Code settings.json 文件中python.defaultInterpreterPath后,我能够再次为我的解释器/ipynb 内核选择我的诗歌虚拟环境。

注意:我的工作计算机是Mac,但我希望这应该适用于Windows。要查找 ~path,请在 CLI 中的相应项目文件夹下输入poetry env info --path,然后在安装 Python 的子目录信息上添加。在 MacOS/Linux 上,这以"/bin/python"结尾;在Windows上,"python.exe"。https://code.visualstudio.com/docs/python/environments#_manually-specify-an-interpreter 了解更多信息。

{
"python.defaultInterpreterPath": "/Users/myname/Library/Caches/pypoetry/virtualenvs/projectname-randomnumbers-py3.9/bin/python",
}

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

就像Windows一样:

"python.venvFolders": [
"C:\Users\User\AppData\Local\pypoetry\Cache\virtualenvs\"
]

最新更新