繁体   English   中英

venv 不创建激活脚本 python3

[英]venv doesn't create activate script python3

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

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

我试过用 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

或者

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

看起来您正在使用Ubuntu 14.04 它附带了一个损坏的pyvenv 使用Python 3创建 venv 有一个简单的解决方法

1. 不用pip创建venv

python3 -m venv --without-pip test4

或者

pyvenv-3.4 --without-pip test4

2. 在你的环境中获取 pip

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

来源:黑客新闻AskUbuntu

蟒蛇卷入。

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

Conda 将python 本身作为一个包来管理,这样conda 更新python 是可能的,而pip 只管理Python 包。 Conda 在 Anaconda 和 Miniconda 中可用(只需 Python 和 conda 即可轻松安装下载)。

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

conda update python

对我来说非常令人不安,但好吧,在终端窗口中将手放在键盘上:(单击此处,查看图片)

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

命令:

python3 -m virtualenv env

对我有用,而:

python3 -m venv env

才不是。

这对我有用:

python3 -m venv --without-pip test4

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

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

那应该这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM