dor*_*riz 3 python windows-subsystem-for-linux pipenv
我在 Windows Subsystem For Linux (WSL) 上运行 Ubuntu。
我在终端中使用 Ubuntu 代码打开我的 VSCode。
我安装了 Python 3.8.2、pip 20.0.2 和 pipenv 版本 2020.6.2。
我创建一个文件夹或我的 Python 项目并cd进入其中。
我输入'pipenv shell'。
我收到以下错误:
Creating a virtualenv for this project…
Pipfile: /home/user/Python/ExampleOne/Pipfile
Using /usr/bin/python3 (3.8.2) to create virtualenv…
? Creating virtual environment...ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'
? Failed creating virtual environment
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到有关该问题的任何信息来解决它。我该如何解决这个问题,或者我可以在哪里更好地理解它?
小智 7
我的设置与您的相同(WSL1 运行 Ubuntu 20.04、pip 20.0.2、python 3.8.2、pipenv 2020.6.2)。但是,我也想出了如何复制您的问题,所以我想我知道这里发生了什么。该错误实际上是 virtualenv 的问题,而不是 pipenv 本身(pipenv 是基于 virtualenv 构建的)。您可以通过尝试创建一个虚拟环境来验证这一点:
virtualenv my_env
Run Code Online (Sandbox Code Playgroud)
或者:
python -m virtualenv my_env
Run Code Online (Sandbox Code Playgroud)
你应该得到同样的错误。这只是 WSL 中的问题,而不是普通 Ubuntu 中的问题,它与 Window 的路径长度限制有关(请参阅此 github 问题)。幸运的是,如果您使用 pip 而不是 apt 安装 pipenv,它将使用更短的路径,Windows 可以处理。尝试这个:
sudo apt autoremove pipenv
pip install pipenv
Run Code Online (Sandbox Code Playgroud)
现在尝试创建您的 pipenv。希望这能解决您的问题。它对我有用。