Python—虚拟环境的创建与管理(virtualenv与virtualenvwrapper)

virtualenv

1.安装virtualenv包

[root@localhost ~]# pip install virtualenv

2.创建虚拟环境,位置不固定,可以在项目的目录下,也可以不在项目的目录下。

[root@localhost ~]# virtualenv project_env                            # 根据当前python解释器版本来创建虚拟化环境
[root@localhost ~]# virtualenv -p /usr/bin/python2.7 project_env      # 选择一个python解释器版本来创建虚拟化环境

3.激活虚拟环境,同时进入虚拟环境

[root@localhost ~]# source project_env/bin/activate

4.安装python的requests模块

(project_env) [root@localhost ~]# pip install requests

5.查看虚拟环境中安装的模块

(project_env) [root@localhost ~]# pip list
(project_env) [root@localhost ~]# pip freeze

6.创建项目并启动项目

(project_env) [root@localhost ~]# mkdir project && cd project
(project_env) [root@localhost project]# python Main.py

7.退出虚拟环境

(project_env) [root@localhost project]# deactivate
  • 虚拟环境的路径与项目的路径互不相关,它们可以在不同的目录下面。主要看 source project_env/bin/activate 进入的是哪一个虚拟环境,就用哪一个虚拟环境运行项目。
  • 进入虚拟环境,就是用虚拟环境运行项目。不进入虚拟环境,就是用系统的python环境运行项目。
  • 上面就可以简单的创建并使用虚拟环境了,为了更方便的使用virtualenv,需要搭配virtualenvwrapper。

virtualenvwrapper

安装virtualenvwrapper包

[root@localhost ~]# pip install virtualenvwrapper

查找virtualenvwrapper.sh脚本的路径。这里路径为:/www/wwwroot/project_env/bin/virtualenvwrapper.sh

[root@localhost ~]# find / -name virtualenvwrapper.sh

修改linux的当前用户的配置文件:~/.bashrc。也是终端文件。文件中添加如下代码:

export WORKON_HOME=~/Envs      # 设置virtualenv的统一管理目录,以后自动下载的虚拟环境都放在这
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'      # 添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python                    # 指定python解释器
source /www/wwwroot/project_env/bin/virtualenvwrapper.sh           # 执行virtualenvwrapper安装脚本

读取文件,使得生效,此时已经可以使用 virtalenvwrapper 了。

[root@localhost ~]# source ~/.bashrc

1.创建虚拟环境,同时激活进入虚拟环境 project_env。

[root@localhost ~]# mkvirtualenv project_env

2.进入虚拟环境,使用 workon 可以查看创建了哪些虚拟环境。

[root@localhost ~]# workon           
[root@localhost ~]# workon project_env

3.使用虚拟环境,这里 project 项目下面有个 Main.py 文件。

(project_env) [root@localhost ~]# pip list
(project_env) [root@localhost ~]# pip freeze
(project_env) [root@localhost ~]# pip install requests
(project_env) [root@localhost ~]# mkdir project && cd project
(project_env) [root@localhost project]# python Main.py

4.退出虚拟环境

(project_env) [root@localhost ~]# deactivate

5.删除虚拟环境

[root@localhost ~]# rmvirtualenv project_env

为什么需要 virtualenvwrapper?而不是virtualenv?这要从 virtualenv 说起。

  • virtualenv 最大的一个缺点就是,每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。
  • 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,比如放到 ~/virtualenvs/,并对不同的虚拟环境使用不同的目录来管理。
  • virtualenvwrapper 正是这样做的。并且,它还省去了每次开启虚拟环境时候的 source 操作,使得虚拟环境更加好用。
  • 创建虚拟环境实质上就是创建一个文件夹。

https://www.cnblogs.com/pyyu/p/9015317.html

https://www.cnblogs.com/st-st/p/10251449.html

https://www.jianshu.com/p/7ed2dfa86e90

https://blog.csdn.net/qq_41250801/article/details/83832482

原文地址:https://www.cnblogs.com/liuhaidon/p/11620046.html