阿里云服务器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 服务器

记一个linux零基础的人搞阿里云ECS服务器中遇到的坑(系统为ubuntu)

阿里云ECS服务器(ubuntu)下基本配置以及升级git

阿里云ECS服务器升级配置

阿里云服务器(Ubuntu16.04 64位)的使用

阿里云服务器(Ubuntu16.04 64位)远程连接