繁体   English   中英

如何用Windows + WSL2配置Pycharm中的Poetry环境?

[英]How to Configure Poetry Environments in Pycharm With Windows + WSL2?

TL;DR:无法使用 WSL 中现有的 Poetry 环境在 PyCharm (Windows) 上配置 Python 解释器。 当尝试在Add Python Interpreter > Poetry Environment > Existing Environment下设置 Poetry 环境路径时,所需的 Python 可执行文件根本不显示。 我究竟做错了什么?

================================================ ==

细节:

我在 Windows 11 上使用 PyCharm Pro 2021.3,Python 在 WSL2 (Ubuntu 20.04) 上运行。 我正在尝试为我在 WSL2 上创建的现有 Poetry 环境添加一个 python 解释器,但它似乎不起作用。

PyCharm 目前对 Poetry 的支持是通过采用这个插件实现的。 从我从插件的官方文档中收集到的信息,为了定义一个具有现有 Poetry 环境的解释器,我 go 到Python Interpreter > Add > Poetry Environment ,选择Existing environment ,并输入该特定环境的路径: 在此处输入图像描述

为了找到该环境的路径,我运行“ poetry env info ”,它给出了以下模式的路径:

\\wsl$\Ubuntu-20.04\home\$USER$\.cache\pypoetry\virtualenvs\my-pretty-project-<some-hash>-py3.8\

在环境中运行which python时,我看到 python 可执行文件位于:

\\wsl$\Ubuntu-20.04\home\$USER$\.cache\pypoetry\virtualenvs\my-pretty-project-<some-hash>-py3.8\bin\python

但是 - 当我浏览到 PyCharm 中的那个位置时,简单的 Python 文件没有显示。 bin目录显示为空 - 如问题中所述。 但是 - 与上述问题中描述的类似 - 如果我尝试将 WSL 的默认解释器路径重新定义为该 Poetry 环境的路径,则 Python 可执行文件就在那里并开始运行: 在此处输入图像描述

(遗憾的是,上述问题中描述的解决方案不适用于我的问题,因为我已经在使用 Poetry 环境的补丁)。

我该怎么做才能完成这项工作?

让我直截了当地说:你想要 PyCharm for Windows 在 WSL 中执行 Python 二进制文件?

那不可能发生。

WSL 中的二进制文件是 Windows 无法执行的“ELF”二进制文件(在 WSL 外部)。 如果 virtualenv 是由诗歌从 WSL 中创建的,它将包含 ELF Python 二进制文件。 这就是为什么 PyCharm 对于 Windows 永远不会接听它的原因。 因为最终 PyCharm for Windows 依赖 Windows 来执行二进制文件,只要你不选择 WSL 选项

明确选择“WSL”选项向 PyCharm 表明,对于这个特定的 virtualenv,您希望 PyCharm 使用 WSL 调用二进制文件。

解决方案是要么在 Windows 中重新创建 virtualenv,要么只使用“WSL”选项,但您必须通过 WSL shell 手动管理诗歌。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM