ModuleNotFoundError:当我由virtualenv创建新的环境时,没有名为“ virtualenv.seed.embed.via_app_data”的模块

时间:2020-08-19 16:26:08

标签: python virtualenv

我已经安装了virtualenv,自上个月以来由virtualenv创建了venv,但是现在我无法创建其他env。 在Ubuntu 20.04终端中,我尝试过:

$virtualenv my_env

但是结果是

ModuleNotFoundError: No module named 'virtualenv.seed.embed.via_app_data'

之后,我检查了它的版本:

$virtualenv --version

并获得:

virtualenv 20.0.17 from /usr/lib/python3/dist-packages/virtualenv/__init__.py

我还通过$ pip3列表检查了它,并且virtualenv仍然存在。在我安装Anaconda之后,似乎出现了问题。

11 个答案:

答案 0 :(得分:18)

virtualenv 默认与 python 一起安装,当您通过 virtualenv 安装 pip3 并尝试使用 pipenv 创建虚拟环境时,您将收到此错误:

ModuleNotFoundError: No module named 'virtualenv.seed.embed.via_app_data

使用 virtualenv 检查已安装的 apt list --installed 的版本 我的是:

python3-virtualenv/focal,focal,now 20.0.17-1 all [installed,automatic] 使用 virtualenv 安装的 pip3 分钟是:

virtualenv             20.4.0

virtualenv 的默认安装与 pip3 安装的 virtualenv 不同 因此,当您尝试使用 pipenv 创建虚拟环境时,例如使用 home/user/djano 在目录 pipenv install django~=3.1.5 中安装 django 时,您将收到该错误 解决方案是使用 virtualenv 删除已安装的 pip3 uninstall virtualenv,这次使用 virtualenv 创建虚拟环境时使用默认安装 pipenv {1}} 它将成功创建。

答案 1 :(得分:8)

尝试直接使用venv模块创建虚拟环境

python3 -m venv my_env

答案 2 :(得分:4)

如果有人在现有环境中遇到此问题(例如使用 pyenv 时),您还可以使用以下命令(在尝试修复诗歌虚拟环境安装时在 GitHub 上找到):

pip install --force-reinstall virtualenv

答案 3 :(得分:3)

@yushulx 我也遇到了同样的问题。我同时通过pip3sudo apt install python3-virtualenv进行安装,这给了我一个错误,但是运行pip3 uninstall virtaulenv之后,我可以创建一个virtualenv了,没有问题

答案 4 :(得分:3)

我也有这个问题。我发现这是一个权限问题。由于某种未知原因,我的主目录的所有权已关闭。我为我用于我的项目的目录做了一个 chown -R,使我自己成为我自己目录的所有者,现在一切正常。

答案 5 :(得分:2)

在命令中使用 sudo。

sudo virtualenv my_env

答案 6 :(得分:2)

我也遇到了同样的问题,似乎安装的版本有不同的用户级别,所以我遵循了他们的文档,下面是我的一项工作:

python3 -m virtualenv --help

创建新环境:

python3 -m virtualenv my_env

答案 7 :(得分:2)

要在 Ubuntu 上解决此问题,我必须从系统中卸载 virtualenvapt remove python3-virtualenv,然后使用 pippip install --user virtualenv --force-reinstall 重新安装它。我遇到了关于依赖项冲突的错误,我通过为每个涉及的包调用 pip install --user ${package} --force-reinstall 来修复它们。

答案 8 :(得分:1)

我想拥有virtualenvwrapper。在Debian 10 testing上,我做到了:

apt remove python3-virtualenvwrapper  # not purge, I want no changes in ~/.virtualenvs/
apt purge python3-virtualenv
/usr/bin/python3.8 -m pip install --force-reinstall virtualenvwrapper
/usr/bin/python3.8 -m pip install --force-reinstall virtualenv==20.0.23

.24不再起作用。我希望有时能解决...

答案 9 :(得分:1)

当我通过virtualenv安装pip3时,它无法运行virtualenv命令。然后我通过以下方式更改了安装:

sudo apt install python3-virtualenv

virtualenv命令通常可以正常工作。

答案 10 :(得分:0)

这意味着您的系统中有两个 virtualenv。 一个是 sudo 或 root 的“pip install”,另一个可能是 apt 安装(如果您使用的是 ubuntu os) 只需卸载其中之一即可修复错误。