38

当尝试在 ubuntu 上使用 venv 和 python 3 创建 virtulenv 时,它不会创建激活脚本。它以错误 1 ​​持续退出。

关注 SO 上的文档和其他帖子,例如https://stackoverflow.com/a/19848770

我试过用两种不同的方式创建它。

sayth@sayth-TravelMate-5740G:~/scripts$ python3 -m venv test4
Error: Command '['/home/sayth/scripts/test4/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
sayth@sayth-TravelMate-5740G:~/scripts$ source test4/bin/activate
bash: test4/bin/activate: No such file or directory
sayth@sayth-TravelMate-5740G:~/scripts$ ls test4/bin/
python  python3

或者

sayth@sayth-TravelMate-5740G:~/scripts$ pyvenv-3.4 test5
Error: Command '['/home/sayth/scripts/test5/bin/python3.4', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
sayth@sayth-TravelMate-5740G:~/scripts$ ls test5/bin/
python  python3  python3.4

我怎样才能让它完全创建一个venv?

如果我按照以下方式进行操作但仍然没有成功,不确定问题是什么?

sayth@sayth-TravelMate-5740G:~/scripts$ python3 -Im venv panda3
Error: Command '['/home/sayth/scripts/panda3/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
sayth@sayth-TravelMate-5740G:~/scripts$ python3 -m venv panda4
Error: Command '['/home/sayth/scripts/panda4/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
4

4 回答 4

105

看起来你正在使用Ubuntu 14.04. 它是随一个损坏 pyvenv的. 有一个简单的解决方法来创建 venv 使用Python 3

1.创建没有pip的venv

python3 -m venv --without-pip test4

或者

pyvenv-3.4 --without-pip test4

2. 在你的环境中获取点子

source test4/bin/activate
curl https://bootstrap.pypa.io/get-pip.py | python
deactivate
source test4/bin/activate

或者

pyvenv-3.4 --without-pip myvenv
source ./myvenv/bin/activate
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-3.4.4.tar.gz
tar -vzxf setuptools-3.4.4.tar.gz
cd setuptools-3.4.4
python setup.py install
cd ..
wget https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz
tar -vzxf pip-1.5.6.tar.gz
cd pip-1.5.6
python setup.py install
cd ..
deactivate
source ./myvenv/bin/activate

资料来源:HackerNewsAskUbuntu

于 2014-10-11T12:07:57.627 回答
13

蟒蛇卷入。

如果您使用的是 Anaconda Miniconda ,此解决方案可能会有所帮助:

Conda 将 python 本身作为一个包进行管理,因此 conda update python 是可能的,而 pip 只管理 Python 包。Conda 在 Anaconda 和 Miniconda 中可用(只需 Python 和 conda 即可轻松安装下载)。

因此,此命令将有所帮助:

conda update python

对我来说非常令人不安,但好吧,在终端窗口中把手放在键盘上:(点击这里,看图片)

感谢您的关注,祝您有美好的一天!

于 2017-11-25T00:36:27.967 回答
12

命令:

python3 -m virtualenv env

为我工作,而:

python3 -m venv env

才不是。

于 2017-12-07T03:43:39.343 回答
7

这对我有用:

python3 -m venv --without-pip test4

一旦我在终端中输入,“test4”venv 就被创建了。并且“激活”脚本也在“bin”目录中创建。

对于使用 python3 的任何人,如果遇到此问题,只需将要创建的目录名称替换为“test4”(或稍后重命名)。

那应该这样做。

于 2017-07-27T20:16:54.390 回答