venv不会创建激活脚本python3

时间:2014-10-06 12:00:21

标签: python ubuntu python-3.x virtualenv python-venv

当尝试在ubuntu上使用带有python 3的venv创建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?

如果我按照以下方式进行,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

5 个答案:

答案 0 :(得分:79)

看起来您正在使用Ubuntu 14.04。它附带broken pyvenv。使用Python 3

创建venv有一个简单的方法

<强> 1。创建没有点的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

答案 1 :(得分:9)

Anaconda involucred。

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

  

Conda manages python itself as a package,这样conda update python就可以了,而pip只管理Python包。 Conda可以在Anaconda和Miniconda中使用(只需使用Python和conda即可轻松下载)。

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

conda update python

very disturbing for me but well, hands to the keyboard in a terminal window: (click here, see the picture)

感谢您的关注,祝您度过愉快的一天!

答案 2 :(得分:4)

命令:

python3 -m virtualenv env

对我有用,而:

python3 -m venv env

没有。

答案 3 :(得分:1)

这对我有用:

python3 -m venv --without-pip test4

在终端输入后,&#34; test4&#34; venv被创造了。并且“激活”#39;脚本也是在&#39; bin&#39;中创建的。 。目录

对于使用python3的任何人,如果遇到问题,只需替换你要创建的目录的名称&#34; test4&#34; (或稍后重命名)。

应该这样做。

答案 4 :(得分:0)

sudo python3 -m venv venv/

如有疑问,请始终以超级用户身份尝试