venv不会创建激活脚本python3

say*_*yth 25 python ubuntu virtualenv python-3.x python-venv

当尝试在ubuntu上使用带有python 3的venv创建virtulenv时,它不会创建激活脚本.它会以错误1退出.

关于SO的文档和其他帖子,例如/sf/answers/1389413931/

我尝试过2种不同的方式.

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
Run Code Online (Sandbox Code Playgroud)

要么

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
Run Code Online (Sandbox Code Playgroud)

我怎样才能完全创造一个venv?

如果我这样做,stil没有成功,不确定是什么问题?

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
Run Code Online (Sandbox Code Playgroud)

Chi*_*and 84

看起来你正在使用Ubuntu 14.04.它装满了破损 pyvenv.有一个简单的工作来创建使用venvPython 3

1.创建没有点的venv

python3 -m venv --without-pip test4
Run Code Online (Sandbox Code Playgroud)

要么

pyvenv-3.4 --without-pip test4
Run Code Online (Sandbox Code Playgroud)

2.获取你的环境

source test4/bin/activate
curl https://bootstrap.pypa.io/get-pip.py | python
deactivate
source test4/bin/activate
Run Code Online (Sandbox Code Playgroud)

要么

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
Run Code Online (Sandbox Code Playgroud)

资料来源:HackerNews,AskUbuntu

  • 我必须在 Ubuntu 20.04 上使用这个解决方案。 (2认同)

小智 11

蟒蛇不受干扰.

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

Conda将python本身作为一个包管理,因此conda更新python是可能的,而pip只管理Python包.Conda可以在Anaconda和Miniconda中使用(只需使用Python和conda即可轻松下载).

所以,这个命令会有所帮助:

conda update python
Run Code Online (Sandbox Code Playgroud)

对我来说非常令人不安但是,在终端窗口中用手键盘:(点击这里,查看图片)

感谢您的关注,祝您有个愉快的一天!


小智 6

这对我有用:

python3 -m venv --without-pip test4
Run Code Online (Sandbox Code Playgroud)

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

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

那应该这样做。


Ror*_*ry 5

命令:

python3 -m virtualenv env
Run Code Online (Sandbox Code Playgroud)

为我工作,而:

python3 -m venv env
Run Code Online (Sandbox Code Playgroud)

才不是。