linux系统下Python虚拟环境的安装和使用

时间:2021-09-21 10:55:20

前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开发就显得很有必要。

安装虚拟环境

  • 步骤:

  • 打开Linux终端(快捷键Ctrl+Alt+T),输入命令:

sudo apt install python-virtualenv
sudo easy_install virtualenvwrapper

说明:以上两条命令逐条执行,完成后虚拟环境安装完毕。

或者可以使用pip安装,前提是安装了pip,一般python自带了pip:

sudo pip install virtualenv
sudo pip install virtualenvwrapper
  • 说明:安装的结果一模一样,使用任意一种即可。
  • virtualenv是虚拟环境,virtualenvwrapper对virtualenv的命令进行了封装,使得其更加友好。

注意:安装的顺序不能颠倒,virtualenvwrapper必须依赖于virtualenv。

创建虚拟环境

  • 在终端输入如下命令:
mkvirtualenv 虚拟环境名称
如:
mkvirtualenv mywork //会创建一个名为mywork的虚拟环境
  • 创建的虚拟环境都保存在/home/.virtualenvs目录下,可以进入这个目录查看;

  • 创建成功后会自动进入该虚拟环境,命令行提示改变;

  • 指定python版本创建虚拟环境

上面的命令执行时,系统会创建默认的python版本的开发环境,一般大家的电脑会同时安装python2和python3版本,有时需要不同的版本创建虚拟环境。

mkvirtualenv -p python路径 虚拟环境名称
例:
mkvirtualenv -p /usr/bin/python3 mywork
  • -p指的是path的简写
  • Py安装的路径,默认安装在/usr/bin/目录下;如果一时间找不到,使用命令:

如果提示:ModuleNotFoundError: No module named 'distutils.sysconfig',是virtualenv的版本不够新

pip uninstall virtualenv
pip install virtualenv==16.1 # 重新安装
whereis python3

在终端命令行搜索,会出现想要的路径。

linux系统下Python虚拟环境的安装和使用

细节:不需要进入到/home/.virtualenvs目录,在任何目录下都可以执行命令,创建的虚拟环境的位置都一样。

注意:创建虚拟环境是需要在联网下进行,否则创建失败。

注意:使用mkvirtualenv创建虚拟环境,可能提示找不到命令,一般是脚本文件没有加入系统路径,解决如下:

  • 方法一:
# 找到virtualenvwrapper的脚本文件
whereis virtualenvwrapper
# 进入该目录
cd /usr/local/python3/bin
# 执行脚本文件激活virtualenvwrapper
source virtualenvwrapper.sh
# 可以正常使用命令了
  • 方法二:
# 方法一每次重启后都需要手动激活,不方便,将命令添加到环境变量
sudo vi ~/.bashrc
# 在末尾添加一行
source /usr/local/python3/bin/virtualenvwrapper.sh
# 保存后执行
source ~/.bashrc
# 现在可以正常使用命令了,且每次重启主机自动加载命令

虚拟环境的查看和使用

  • 删除虚拟环境
rmvirtualenv [虚拟环境名称]
例:
rmvirtualenv mywork

注意:如果目前的位置在虚拟环境中,需要先退出虚拟环境,然后才能执行删除

注意:可以在任何目录执行删除操作,如果不知道名字,可以rmvirtualen + 两次Tab键,提示所有的虚拟环境

  • 退出虚拟环境
deactivate
  • 进入虚拟环境
workon [虚拟环境名称]
例:
workkon mywork

注意:按workon+两次Tab键会提示所有虚拟环境。

  • 查看虚拟环境中安装的python包
pip list
pip freeze

两个命令都可以查询,只是展示的形式不一样。

在虚拟环境下安装python包

  • 进入虚拟环境,在终端输入:
#升级pip
python3 -m pip install --upgrade pip
pip install 包的名字

注意:一定不要使用sudo pip ... ,这里是在虚拟环境中安装python包,如果使用了sudo权限,python包会被安装在主机非虚拟环境下,在虚拟环境中找不到这个包。