使用 Python3 创建 virtualenv 时出错

Error creating virtualenv with Python3

我正在开发 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))

该错误表明 virtualenv 正试图在您的 python 路径中创建环境。因此,你必须指定你的 virtualenv 目的地

virtualenv -p python3.6 /path/to/yourenv

对于 venv 和 python3.6 安装 venv 可以使用下面的方法来解决问题

sudo apt install python3.6-venv

您必须通过以下代码安装 venv:

sudo apt install python3.6-venv

扩展上面的答案:

The error indicates that virtualenv is trying to make an environment in your python path. therefore, you have to specify your virtualenv destination

因为-p是等同于--python的标志,你也可以使用.

$ virtualenv --python=python3.6 /path/to/yourenv

$ virtualenv -p python3.6 /path/to/yourenv