【问题标题】:FileExistsError: [Errno 17] File exists: '/usr/bin/python' -> '/home/had2000/.virtualenvs/cv/bin/python'FileExistsError:[Errno 17] 文件存在:'/usr/bin/python' -> '/home/had2000/.virtualenvs/cv/bin/python'
【发布时间】:2022-01-18 18:10:22
【问题描述】:

当我在 ubuntu 上安装了 python 3.5 和 python 3.6 时。我输入了一些备用命令以仅使用 python 3.5(当我键入 python -V 和 python3 -V 时,相同的输出是 3.5.2)

然后我安装 virtualenv 和 virtualenvwrapper — 这些包允许我创建和管理 Python 虚拟环境:
$ sudo pip install virtualenv virtualenvwrapper
$ sudo rm -rf ~/get-pip.py ~/.cache/pip

为了完成这些工具的安装,我更新了 ~/.bashrc 文件。我在 ~/.bashrc 中添加了以下行:
导出 WORKON_HOME=$HOME/.virtualenvs
导出 VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
源 /usr/local/bin/virtualenvwrapper.sh
接下来,获取 ~/.bashrc 文件:
$ source ~/.bashrc

最后我创建了您的 OpenCV 4 + Python 3 虚拟环境:
$ mkvirtualenv cv -p python3

我已经创建了虚拟环境,但在后端有一些问题,我猜这是由于 python3.6 的存在。最后,我决定卸载 python 3.6 并从头开始重新运行上述步骤,并在我上面提到的最后一步遇到问题。当我输入命令“mkvirtualenv cv -p python3”时,我得到一个错误:
FileExistsError:[Errno 17] 文件存在:'/usr/bin/python' -> '/home/had2000/.virtualenvs/cv/bin/python'

同时当我输入命令“update-alternatives --config python”时,python3.6 不再存在,但我收到警告:
update-alternatives:警告:替代/usr/bin/python3.6(链接组python的一部分)不存在;从替代列表中删除
替代 python 有 1 种选择(提供 /usr/bin/python)。

期待您的帮助,谢谢

【问题讨论】:

    标签: python opencv virtualenv virtualenvwrapper


    【解决方案1】:

    根据您共享的命令,错误是由于 mkvirtualenv cv 运行两次而引起的 - 即环境已经存在。要删除您创建的环境,请执行以下操作:rmvirtualenv env-name-here,在这种情况下将变为 rmvirtualenv cv。顺便说一句,这不应该在那个环境活跃的情况下完成。另一种方法是删除$WORKON_HOME/env-name-here。默认情况下,$WORKON_HOME 通常是.virtualenvs

    【讨论】:

    • @DũngHoàng:我很高兴 - 也谢谢你! :-)
    猜你喜欢
    • 2017-10-06
    • 2021-02-19
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 2015-03-14
    • 2013-07-16
    相关资源
    最近更新 更多