我想在Ubuntu 18.04上使用python 3.7和pip(或其他安装包的方式)设置一个标准的虚拟环境(venv)。看起来安装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-venv
(python3-venv
用于Debian / Ubuntu上的python3.6)。我了解由于存在多个Python版本和/或需要root访问以及通过apt
或类似方式安装Python模块的替代方法,因此在Python社区中已经就此进行了一些讨论。
使用--without-pip
参数创建没有pip的venv成功,但随后无法在新的venv中安装软件包,这在很大程度上破坏了其目的。
那么,在18.04上安装和使用python3.7的venv的“最佳实践”是什么?
curl -O https://bootstrap.pypa.io/get-pip.py
,安装pip:sudo python get-pip.py
。 - racket99pip install virtualenv
,使用方法:virtualenv --python=<path/to/python/> /path/to/venv
和source venv/bin/activate
。你应该在提示符中看到你的虚拟环境名称为(venv)。 - racket99