如何解决“无法从‘virtualenv’导入名称‘main’”?

use*_*887 2 python django pip virtualenv

当我尝试运行 virtualenv 时,出现以下错误:

[jelly@laptop Getskilled]$ virtualenv venv
Traceback (most recent call last):
  File "/usr/bin/virtualenv", line 6, in <module>
    from virtualenv import main
ImportError: cannot import name 'main' from 'virtualenv' (/home/jelly/.local/lib/python3.8/site-packages/virtualenv/__init__.py)
Run Code Online (Sandbox Code Playgroud)

当我上次在项目中使用 Virtualenv 时它正在工作,所以我猜测更新会导致它损坏。我尝试过重新安装 virtualenv 和 pip。

我能找到的最接近的帖子是这个: virtualenv: Cannot import name 'main'

我尝试按照这篇文章进行操作,所以我在 python 解释器中运行了以下命令:

import virtualenv
virtualenv.__file__
Run Code Online (Sandbox Code Playgroud)

返回:'/home/jelly/.local/lib/python3.8/site-packages/virtualenv/ init .py'

但是,没有文件 /usr/local/bin/virtualenv.py 并且 .local 目录中没有 virtualenv.py,因此该帖子中的解决方案对我不起作用。

接下来我可以尝试什么?

更新:我在 /usr/bin/ 中找到 virtualenv.py ,它似乎导致了问题,但我不确定如何更新它以使用当前版本。我移动了它然后尝试重新安装 virtualenv 但没有生成新的 virtualenv.py 所以仍然不确定发生了什么。

Mis*_*ios 5

当我安装新的 Ubuntu 20.04 LTS 时,就发生了这种情况。我将现有的 virtualenv 文件重命名为其他文件,然后它又开始工作了。不完全确定为什么,但这是这个答案的建议:/sf/answers/2300186801/

sudo mv /usr/local/bin/virtualenv /usr/local/bin/xvirtualenv