小编use*_*510的帖子

python virtual env通过WSL成功激活但不起作用

在我的 Windows 系统上,我已使用 Windows 命令提示符成功安装了虚拟环境(Python 版本为 3.9)

python -m venv C:\my_path\my_venv

始终使用 Windows 命令提示符,我可以通过以下方式激活创建的 venv

C:\my_path\my_venv\Scripts\activate.bat

我确信 venv 已正确激活,因为:

  1. 在 Windows 终端上,我看到命令行前面是(my_venv)
  2. 如果我从终端 ( python) 激活 python 并运行以下命令:import sys; sys.path我可以在路径列表中看到所需的路径[..., 'C:\\my_path\\my_venv\\lib\\site-packages\\win32\\lib', ...]
  3. 如果我在激活的 venv 中执行操作(例如安装软件包),一切都会正常工作并在 venv 内完成

总而言之,到目前为止一切都很好。

我还有 WSL2 (Ubuntu),我想使用 Ubuntu 终端激活相同的 venv。如果我从 Ubuntu 终端激活 venv

source /mnt/c/my_path/my_venv/Scripts/activate

它似乎可以工作,因为命令行前面是(my_venv),但是当我运行 python ( python3command) 然后运行import sys​​; sys.path我看到系统的目标是基本 Ubuntu python 安装(版本 3.8),而不是 venv 安装:

['', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/usr/local/lib/python3.8/dist-packages', '/usr/lib/python3/dist-packages'] …

python virtualenv windows-subsystem-for-linux

5
推荐指数
1
解决办法
5074
查看次数