我正在使用Ubuntu 16.04,它带有python2.7和python3.5
所以我在它上面安装了python3.6,并通过alias python3=python3.6
将pyml3符号链接到python3.6。然后我使用sudo -H pip3 install virtualenv
安装了virtualenv。当我检查时,virtualenv安装在“/usr/local/lib/python3.5/dist-packages”位置。
因此,当我尝试使用python3 -m venv ./venv1
创建virtualenv时,它会给我带来错误:
Error Command: ['/home/wgetdj/WorkPlace/Programming/Python/myvenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
我该怎么办?
答案 0 :(得分:31)
我们通常使用$ python3 -m venv myvenv
创建一个新的virtualenv(这里myvenv
是我们的virtualenv的名称。)
与我的情况类似,如果您的系统上同时包含python3.5
和python3.6
,那么您可能会遇到一些错误。
注意:在某些版本的Debian / Ubuntu上,您可能会收到以下错误:
The virtual environment was not created successfully because ensure pip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.
apt-get installpython3-venv
You may need to use sudo with that command. After installing the python3-venv package, recreate your virtual environment.
在这种情况下,请按照上面的说明安装python3-venv软件包:
$ sudo apt-get install python3-venv
注意:在Debian / Ubuntu的某些版本上启动此类虚拟环境目前会出现以下错误:
Error Command: ['/home/wgetdj/WorkPlace/Programming/Python/myvenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
要解决此问题,请改用virtualenv命令。
$ sudo apt-get install python-virtualenv
$ virtualenv --python=python3.6 myvenv
注意:如果您收到类似
的错误E:无法找到包python3-venv
然后运行:
sudo apt install python3.6-venv
答案 1 :(得分:8)
通过python3.6
而不是python3.6-venv
安装ppa:deadsnakes/ppa
和ppa:jonathonf/python-3.6
为我工作
apt-get update \
&& apt-get install -y software-properties-common curl \
&& add-apt-repository ppa:deadsnakes/ppa \
&& apt-get update \
&& apt-get install -y python3.6 python3.6-venv
答案 2 :(得分:8)
首先请确保您已安装python3.6,否则可以使用以下命令进行安装:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt install python3.6
现在安装venv即
sudo apt-get install python3.6-venv python3.6-dev
python3.6 -m venv venv_name
您可以使用上述命令安装python3.7 / 3.8以及相应的venv,只需将3.3.6替换为3.6
答案 3 :(得分:1)
我认为问题可能与错误的语言环境有关。
我在/etc/environment
中添加了以下几行来对其进行修复:
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
您需要使用以下命令从bash中获取文件:
source /etc/environment
答案 4 :(得分:0)
如果出现以下令人讨厌的错误:
def updated_dict(arr, olddict):
newdict = {}
for item in arr:
newdict[item] = olddict.get(item)
return newdict
尝试以下命令:
E: Unable to locate package python3-venv
为我工作的人。希望对您有帮助!