如何在Ubuntu 18.04上安装python3.7并使用pip创建virtualenv?

问题描述 投票:4回答:1

我正在尝试在Ubuntu 18.04上使用python 3.7建立一个标准的virtualenv,使用pip(或某种方式在virtualenv中安装软件包)。安装python3.7的标准方法似乎是: % sudo apt install python3.7 python3.7-venv % python3.7 -m venv py37-venv 但第二个命令失败,说:

未成功创建虚拟环境,因为ensurepip不可用。在Debian / Ubuntu系统上,您需要使用以下命令安装python3-venv软件包。

apt-get install python3-venv

您可能需要在该命令中使用sudo。安装python3-venv软件包后,重新创建您的虚拟环境。

失败命令:['/ py37-venv/bin/python3.7',' - Im','ensurepip',' - upgrade',' - default-pip']

这是真的;这个python没有安装ensurepip或pip。我已经安装了python3.7-venvpython3-venv用于Debian / Ubuntu上的python3.6)。我收集有关python社区中的一些讨论,因为有多个python版本和/或需要root访问权限,以及通过apt或类似方法安装python模块的替代方法。

创建一个没有pip(--without-pip)的virtualenv成功,但是然后就没有办法在新的virtualenv中安装软件包,这似乎在很大程度上打败了目的。

那么在18.04上使用virtualenv安装和使用python3.7的接受“最佳实践”方法是什么?

python pip virtualenv ubuntu-18.04 python-3.7
1个回答
11
投票

我不知道它是否是最佳实践,但是如果我也安装了python3-venv那么一切正常(这是在新的Debian buster docker图像上测试的):

% sudo apt install python3.7 python3-venv python3.7-venv
% python3.7 -m venv py37-venv
% . py37-venv/bin/activate
(py37-venv) % 

请注意,它也会不必要地安装所有的python3.6,所以我不能说我喜欢它,但至少它确实有效,并且不需要像get-pip.py那样运行无符号脚本。

© www.soinside.com 2019 - 2024. All rights reserved.