在Ubuntu 18.04.4上使用Python时,命令返回了非零退出状态1。

4

首先声明一下,我是一个完全的编程新手,想从Python开始学起。我已经学习了最基础的知识,并且了解到在开发项目时最好创建虚拟环境。由于我有三个Python版本:2.x、3.6.9和3.8.2,而我想使用最新版本,因此我使用了以下命令:

python3.8 -m venv env

而且它给我了这个消息,我并不真正理解:
Error: Command '['/home/robert/python/python_p/env/bin/python3.8', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.

但是环境实际上已经被创建了。 尽管如此,当我尝试使用这个环境时,

source env/bin/activate

它给了我这个:
bash: env/bin/activate: No such file or directory

重要的是,如果我使用

标记来结束一个段落,那么在该标记前出现的任何空格或换行符都会被忽略。
python3 -m venv

这个命令可以很好的工作,但它默认设置为3.6.9版本,而我不想使用。我知道以后可以更改,但已经变得个人化了。


1
这个错误信息是唯一的输出吗?我怀疑实际的错误信息在你发布的那行代码之前。 - jordanm
我已经发布了整个内容,没有产生其他输出。 - Robert
1个回答

12
我认为出现错误是因为没有安装python3.8-venv软件包。

错误:命令 '['/home/robert/python/python_p/env/bin/python3.8', '-Im', 'ensurepip', '--upgrade', '--default-pip']' 返回了非零退出状态 1。

您可以尝试以下操作:
$ rm -rf venv
$ apt install python3.8-venv
...
$ python3.8 -m venv venv
... success

你可能也会发现这个链接很有用。


1
这就是它。非常感谢! - Robert
1
我希望我能给这个点赞两次。关于这个问题有很多疑问,而且很多答案都是兔子洞式的。 - John Curry
1
有时候你需要在第二个命令前加上 "sudo": sudo apt install python3.8-venv - Orly
它对我有效。非常感谢! - Phat Tran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接