阿里云服务器ECS中Ubuntu20.04中成功安装使用virtualenv和virtualenvwrapper
Posted 孤寒rm-rf*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云服务器ECS中Ubuntu20.04中成功安装使用virtualenv和virtualenvwrapper相关的知识,希望对你有一定的参考价值。
本人项目所需——在阿里云服务器上搭建项目,所以用到了阿里云的ECS,本人阿里云服务器选的是Ubuntu20.04,服务器环境配置阶段需要我装个virtualenv和virtualenvwrapper,按理来说我直接两个pip install就OK了,但是奇了怪了就在这!
下面进入探索及解决环节:::
1.本人报错操作:
①直接pip安装:(如果你没安装python-pip3,先sudo apt install python3-pip安装)
$ pip3 install virtualenv
$ pip3 install virtualenvwrapper
注意——在这我们安装virtualenv包是没有任何问题的;但是,当我们安装virtualenvwrapper时会报错!!!导致我们下载不了!!!!报错部分截图如下:
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m060m5q2/virtualenvwrapper/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m060m5q2/virtualenvwrapper/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\\r\\n'"'"', '"'"'\\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-m060m5q2/virtualenvwrapper/pip-egg-info
.
.
.
.
distutils.errors.DistutilsError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpx52pf4x0', '--quiet', '--index-url', 'http://mirrors.cloud.aliyuncs.com/pypi/simple/', 'pbr']' returned non-zero exit status 1.
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
解决方法:分析报错即请教大佬可知——我们还需要下载phr包并对其设置环境变量:
②解决:
安装phr:
pip3 install pbr
编辑文件/etc/profile,设置环境变量:
nano /etc/profile
末尾加上:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
使之生效:
source /etc/profile
③现在,我们就可以成功安装virtualenvwrapper了!
pip3 install virtualenvwrapper
2.但是,现在你用virtualenv的命令(比如:workon;mkvirtualenv 虚拟环境名)都无法执行哦!
比如:
解决方法:
①创建虚拟环境的根目录:
$ mkdir $HOME/.virtualenvs
②编辑~/.bashrc:
编辑~/.bashrc:
nano ~/.bashrc
在文件末尾加入:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
使之生效:
source ~/.bashrc
注意:
1.WORKON_HOME是创建虚拟环境的根目录(根据你创建的根目录不同而不同);
2.VIRTUALENVWRAPPER_PYTHON是virtualenvwrapper所使用的python路径;
3.VIRTUALENVWRAPPER_VIRTUALENV是virtualenv文件所在的目录;
4.最后一条命令source的是virtualenvwrapper.sh文件;
【如果不指定路径,可通过whereis 文件名查看!】
3.现在就可以正常使用了哦!
创建虚拟环境:
mkvirtualenv tudo_first
已经可以创建成功了!而且这个虚拟环境是创建在刚刚创建的虚拟环境的根目录$HOME/.virtualenvs里的!!!
4.拓展:
1.创建运行环境 env_name(两种方法:mkvirtualenv——创建的虚拟环境位置固定;virtualenv——创建的虚拟环境位置可变!)
mkvirtualenv [-p Python版本路径] env_name (在刚刚创建的虚拟环境的根目录$HOME/.virtualenvs下创建)
virtualenv env_name -p python3 (在当前目录下创建)
2.工作在env1环境或从其它环境切换到env2环境
workon env2
3.退出终端环境
deactivate
3.删除运行环境env_name
rmvirtualenv env_name
4.列出可用的运行环境
workon
5.列出当前环境安装了的包
lssitepackages
pip list
以上是关于阿里云服务器ECS中Ubuntu20.04中成功安装使用virtualenv和virtualenvwrapper的主要内容,如果未能解决你的问题,请参考以下文章
给阿里云 VPC 中的 Ubuntu ECS 配置自定义 DNS 服务器