从GitHub上面下载别人的代码时,经常会遇到作者使用的库函数在服务器上面没有的情况,如果使用服务器默认的编辑器运行,容易出现一堆bug ==!。之前一直采用懒人应对法:换成其他功能相同的函数,或者,干脆放弃这个文件,重新写一个,昨天上午看了看图卷积的程序,下载之后打算调一调,发现2021版的pycharm已经不支持Python3.5了,然而实验室服务器的默认版本仍然是:
被逼走投无路,遂决定长痛不如短痛,花点时间解决一下。
如何安装python虚拟环境
因为我已经在服务器上安装好了,所以在虚拟机上做演示,OS版本:Ubuntu 20.04 LTS,服务器是Ubuntu 16.04.6 LTS,没什么影响。
1. 首先安装virtualenv, virtualenvwrapper
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
注意:使用sudo
命令可以暂时获得管理员权限,如果直接使用root用户安装,可能后面的指令需要不断调用sudo来运行,使用pip3
或者pip
指令关系到后面编辑器的选择。
virtualenv是负责创建虚拟环境的,virtualenvwrapper负责对虚拟环境集中管理
2. 配置虚拟环境的存放目录
打开~/.bashrc
文件,在文档末尾添加:
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
export WORKON_HOME=~/Envs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
fi
解释一下上面的命令行脚本:
-
export WORKON_HOME=~/Envs
设置虚拟环境的安装位置,默认安装在家目录下的Envs目录中,可以自己任意指定,workon
是virtualenvwrapper中的一个命令,后面会用到。 -
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
在不指定虚拟环境编译器的情况下,默认使用的python编译器。这里需要注意的是,后面的路径要根据你自己电脑上已有的python编译器进行填写,所以先使用whereis python
查看系统中安装了哪些编译器:在我的虚拟机中是这样:
刚才用的pip3指令安装,所以这里选/usr/bin/python3
,但是实验室服务器是这样:
Ubuntu默认先使用/usr/local/bin/
下面的编辑器,如果没有才会使用usr/bin/
,因此如果你的系统中在/usr/local/bin/
路径下有python编译器的话,配置文件应该相应地改成:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
-
source /usr/local/bin/virtualenvwrapper.sh
激活virtualenvwrapper脚本。
上述步骤完成之后,在命令行输入:
source ~/.bashrc
执行刚才修改的配置文件,使配置文件在不用注销登录的状态下生效。
3. 安装一个虚拟环境
创建虚拟环境:
mkvirtualenv venv1
可以看到在刚才配置好的目录下面已经有了一个名为venv1
的文件夹,这就是我们新安装的环境。
该环境默认使用我们系统指定的python版本,即VIRTUALENVWRAPPER_PYTHON
环境变量指定的版本。如果想要自己定义,使用下面的命令:
mkvirtualenv --python=编译器路径 venv1
如果创建成功会显示:
创建好之后会默认进入该虚拟环境,如果想要退出,输入deactivate
即可。如果这个环境不想要了,使用
rmvirtualenv venv
或者
rm -rf venv
其中前一个指令使virtualenvwrapper自带的,第二个指令是Linux系统的删除指令。
4. 常用命令
- 查看已经安装的虚拟环境
workon
或者
lsvirtualenv
- 进入一个虚拟环境
workon venv1