使用 Python3 创建 virtualenv 时出错
Posted
技术标签:
【中文标题】使用 Python3 创建 virtualenv 时出错【英文标题】:Error creating virtualenv with Python3 【发布时间】:2017-11-11 08:50:53 【问题描述】:我正在使用 Linux Mint 17,我正在尝试使用 Python3 创建一个新的 virtualenv,如下所示:
python3.6 -m venv env
这是我得到的错误:
Error: Command '['/home/ric/myprojs/django-example-channels/env/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
我已经用谷歌搜索了这条错误消息,但没有找到任何信息量太大的信息。
这是我的 pip 版本,以防有什么不同:
pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
我使用 Python2 已经有一段时间了,但我是 Python3 的新手。我不知道我可能会错过什么。
更新 1:
回答@cezar 的问题,当我输入 which python3
这就是我得到的:
$ which python3
/usr/bin/python3
更新 2:
回答@Chłop Z Lasu:
$ virtualenv -p python3.6 env
Running virtualenv with interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /home/ric/myprojs/django-example-channels/example_channels/env/bin/python3.6
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 2328, in <module>
main()
File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 713, in main
symlink=options.symlink)
File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 925, in create_environment
site_packages=site_packages, clear=clear, symlink=symlink))
File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 1231, in install_python
shutil.copyfile(executable, py_executable)
File "/usr/lib/python3.6/shutil.py", line 104, in copyfile
raise SameFileError("!r and !r are the same file".format(src, dst))
【问题讨论】:
您在虚拟环境中运行python3.6
。在 Linux Mint 17 中,python3
是默认安装的,应该在/usr/bin/python3
下可用。如果你这样做which python3
会发生什么?
您的问题是关于python标准库模块venv
(docs.python.org/3/library/venv.html)。这与virtualenv
(pypi.python.org/pypi/virtualenv) 不同。也许您应该编辑标签以反映这一点。
我刚刚编辑了我的问题@cezar
Using Python 3 in virtualenv的可能重复
顺便说一下,pip3 --version
是你应该检查的,注意输出是 Python2
【参考方案1】:
该错误表明 virtualenv 正在尝试在您的 python 路径中创建环境。因此,您必须指定您的 virtualenv 目的地
virtualenv -p python3.6 /path/to/yourenv
【讨论】:
【参考方案2】:对于 venv 和 python3.6 安装 venv 可以使用下面的方法来解决问题
sudo apt install python3.6-venv
【讨论】:
【参考方案3】:您必须通过以下代码安装 venv:
sudo apt install python3.6-venv
【讨论】:
【参考方案4】:扩展上述答案:
该错误表明 virtualenv 正在尝试在您的 python 路径中创建环境。因此,您必须指定您的 virtualenv 目的地
由于-p是一个等价于--python的标志,所以也可以使用。
$ virtualenv --python=python3.6 /path/to/yourenv
或者
$ virtualenv -p python3.6 /path/to/yourenv
【讨论】:
以上是关于使用 Python3 创建 virtualenv 时出错的主要内容,如果未能解决你的问题,请参考以下文章
Python3在Windows下创建虚拟环境(virtualenv)
创建Python2和Python3的虚拟环境virtualenv
在 openSuSE 中使用带有 python3 的 virtualenv