pyvenv-3.4返回非零退出状态1

185 投票
20 回答
223214 浏览
提问于 2025-04-18 09:09

我在使用Kubuntu 14.04,想用python3.4创建一个虚拟环境。之前我在其他文件夹里用python2.7成功创建过。但是当我尝试这样做时:

pyvenv-3.4 venv

我遇到了这个错误:

错误:命令 '['/home/fmr/projects/ave/venv/bin/python3.4', '-Im', 'ensurepip', '--upgrade', '--default-pip']' 返回了非零的退出状态 1

20 个回答

33

在Linux Mint 17上遇到同样的问题(其实它就是Ubuntu 14.04)。安装python3.4-venv没有成功,所以我没有用pip创建虚拟环境,而是手动创建了一个虚拟环境,然后再手动安装了pip。

  1. 创建虚拟环境并激活它

    python3 -m venv --without-pip foo
    source foo/bin/activate
    
  2. 下载最新版本的setuptoolspip

    wget https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz#md5=6245d6752e2ef803c365f560f7f2f940
    wget https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#md5=01026f87978932060cc86c1dc527903e
    
  3. 解压并安装它们

    tar xf setuptools-7.0.tar.gz
    tar xf pip-1.5.6.tar.gz
    cd setuptools-7.0
    python setup.py install
    cd ../pip-1.5.6
    python setup.py install
    
68

这里有一个不依赖操作系统的解决方案

无论是 pyvenv 还是 python 命令,它们都有一个 --without-pip 选项,可以让你绕过这个问题;这样就不需要使用 setuptool 或者其他复杂的东西了。根据我下面的 inline comments,这里是具体的做法,非常容易理解:

user$ pyvenv --without-pip ./pyvenv.d          # Create virtual environment this way;
user$ python -m venv --without-pip ./pyvenv.d  # --OR-- this newer way. Both work.

user$ source ./pyvenv.d/bin/activate  # Now activate this new virtual environment.
(pyvenv.d) user$

# Within it, invoke this well-known script to manually install pip(1) into /pyvenv.d:
(pyvenv.d) user$ curl https://bootstrap.pypa.io/get-pip.py | python

(pyvenv.d) user$ deactivate           # Next, reactivate this virtual environment,
user$ source ./pyvenv.d/bin/activate  # which will now include the pip(1) command.
(pyvenv.d) user$

(pyvenv.d) user$ which pip            # Verify that pip(1) is indeed present.
/path/to/pyvenv.d/bin/pip

(pyvenv.d) user$ pip install --upgrade pip # And finally, upgrade pip(1) itself;
(pyvenv.d) user$                           # although it will likely be the
                                           # latest version. And that's it!

希望这对你有帮助。(◠﹏◠)/

77

这是我解决这个错误的方法:

$ python3.6 -m venv venv

失败的命令: ['/venv/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']

解决方案:

$ rm -rf venv
$ apt install python3.6-venv
$ python3.6 -m venv venv
279

你缺少了 Python 3.4 的虚拟环境库,只需要运行以下命令:

$ apt-get install python3.4-dev python3.4-venv

然后创建你的虚拟环境

python3.4 -m venv myVenv
81

我找到了解决办法,就是安装 python-virtualenv。

sudo apt-get install python-virtualenv

然后使用这个工具。

virtualenv --python=/usr/bin/python3.4 venv

撰写回答