Python虚拟环境 Virtualenv 、 Virtualenvwrapper

Python虚拟环境 Virtualenv 、 Virtualenvwrapper

在开发不同项目中,可能需要不同的 Python 版本 ,还有各种依赖问题;在Python开发环境中,为了解决这些问题,我们使用虚拟环境( virtualenv )来创建独立的Python环境,将不同项目的运行环境隔离开来。

使用virtualenvwrapper管理虚拟环境(virtualenv),统一管理虚拟环境的目录,省去source步骤

一、Virtualenv 虚拟环境

  • Linux

    1.安装virtualenv

    [root@38a home]# pip install virtualenv
    

    2.进入存放虚拟环境的文件夹(自定义)

    [root@38a home]# cd /home/python_env
    

    3.创指定版本建虚拟环境

    virtualenv -p python执行文件路径(不同版本) 自定义虚拟环境名称

    [root@38a python_env]# virtualenv -p /usr/local/python3/bin/python3
     python_3.6.4_sen
    # 创建过程信息如下:
    created virtual environment CPython3.6.4.final.0-64 in 124ms
      creator CPython3Posix(dest=/home/python_env/python_3.6.4_sen, clear=False, global=False)
      seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
        added seed packages: pip==20.1.1, setuptools==47.3.1, wheel==0.34.2
      activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
    

    4.virtualenv会创建一个与环境名字相同的文件夹,这个文件夹就是这个虚拟环境的根目录

    [root@38a python_env]# ll python_3.6.4_sen
    total 12
    drwxr-xr-x 2 root root 4096 Jul  3 02:32 bin
    drwxr-xr-x 3 root root 4096 Jul  3 02:32 lib
    -rw-r--r-- 1 root root  260 Jul  3 02:32 pyvenv.cfg
    

    5.激活虚拟环境

    [root@38a python_env]# source python_3.6.4_sen/bin/activate
    # 激活成功
    (python_3.6.4_sen) [root@38a python_env]# 
    

    6.安装第三方包

    (python_3.6.4_sen) [root@38a python_env]# pip3 install request
    # 安装信息
    ollecting request
    xxxxxx
    Successfully installed get-0.0.0 post-0.0.0 query-string-0.0.0 request-0.0.0
    

    7.查看虚拟环境的第三方包

    (python_3.6.4_sen) [root@38a python_env]# pip3 freeze
    get==0.0.0
    post==0.0.0
    query-string==0.0.0
    request==0.0.0
    

    8.退出虚拟环境

    (python_3.6.4_sen) [root@38a python_env]# deactivate
    

    8.删除虚拟环境

    # 删除对应文件夹即可
    
  • Windows

    1.安装virtualenv

    D:python_env> pip install virtualenv
    

    2.创建虚拟环境

    virtualenv -p python执行文件路径(不同版本) 自定义虚拟环境名称

    D:python_env> virtualenv -p ‪D:Anacondapython.exe python_3.6.5_sen
    # 创建过程信息如下:
    D:python_env>virtualenv python_3.6.5_sen
    created virtual environment CPython3.6.4.final.0-64 in 805ms
      creator CPython3Windows(dest=D:python_envpython_3.6.5_sen, clear=False, global=False)
      seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:Users	hinkAppDataLocalpypavirtualenv)
        added seed packages: pip==20.1.1, setuptools==47.3.1, wheel==0.34.2
      activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
    

    3.激活虚拟环境

    D:python_env> .python_3.6.5_senScriptsactivate.bat
    (python_3.6.5_sen) D:python_env>
    

    4.安装第三方包

    (python_3.6.5_sen) D:python_env> pip install redis
    # 安装信息
    Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
    Collecting redis
      Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a7/7c/24fb0511df653cf1a5d938d8f5d19802a88cef255706fdda242ff97e91b7/redis-3.5.3-py2.py3-none-any.whl (72 kB)
         |████████████████████████████████| 72 kB 112 kB/s
    Installing collected packages: redis
    Successfully installed redis-3.5.3
    

    5.查看虚拟环境的第三方包

    (python_3.6.5_sen) D:python_env> pip freeze
    redis==3.5.3
    

    6.退出虚拟环境

    (python_3.6.5_sen) D:python_env> deactivate
    

    7.删除虚拟环境

    # 删除对应文件夹即可
    
  • 其他

    # 查看virtualenv版本
    [root@38a python_env]# virtualenv --version
    
    # 将本机安装的第三方包带入虚拟环境
    [root@38a python_env]# virtualenv -p 路径 --system-site-packages python_3.6.4_env
    
    # 不将本机的第三方包带入虚拟环境(virtualenv20以后,默认是--no-site-packages)
    [root@38a python_env]# virtualenv -p 路径 --no-site-packages python_3.6.4_env
    

二、Virtualenvwrapper 管理虚拟环境

  • Linux

    1.安装

    [root@38a home]# pip3 install virtualenvwrapper
    

    2.创建存放虚拟环境的目录

    [root@38a home]# mkdir python_env
    

    3..设置环境变量

    [root@38a home]# vim ~/.bashrc
    # 写入以下几行代码
    export WORKON_HOME=/home/python_env   # 设置virtualenv管理目录
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # 添加参数,生成干的环境,virtualenv大于20可不用配置该条
    export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3 # 指定python解释器
    source /usr/local/python3/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本
    

    4.刷新~/.bashrc文件, 使配置生效

    [root@38a home]# source ~/.bashrc
    

    5.创建指定版本的虚拟环境

    [root@38a home]# mkvirtualenv -p /usr/local/python3/bin/python3 python3.6.4_env
    

    6.查看所有的虚拟环境

    [root@38a home]# lsvirtualenv
    python2.7
    =========
    python3.6.4_env
    ===============
    # 注:python2.7是我在python_env目录下使用virtualenv直接创建的虚拟环境
    # [root@38a home]# workon 也可查看所有虚拟环境
    

    7.切换虚拟环境

    (python3.6.4_env) [root@38a python_env]# workon python2.7
    (python2.7) [root@8a python_env]# 
    

    8.退出虚拟环境

    (python3.6.4_env) [root@38a python_env]# deactivate
    

    9.删除虚拟环境

    (python3.6.4_env) [root@38a python_env]# rmvirtualenv python2.7  # 或删除文件夹
    Removing python2.7...
    
  • Windows

    1.安装

    D:python_env> pip install virtualenvwrapper-win  # windows下加-win
    

    2.设置环境变量

    # 默认创建的虚拟环境在C:用户用户名Envs下,可通过环境变量WORKON_HOME来修改
    # 控制面板——》系统和安全——》系统——》高级系统设置——》环境变量——》新建系统变量——》——》
    # 变量名:WORKON_HOME
    # 变量值:D:python_env (自定义路径)
    # 重新打开cmd
    

    2.创建指定版本的虚拟环境

    D:python_env> mkvirtualenv --python==D:Anacondapython.exe python3
    

    3.查看所有的虚拟环境

    (python3) D:python_env> lsvirtualenv
    
    dir /b /ad "D:python_env"
    ==============================================================================
    python_3
    python_3.6.5
    # 注:(python3) D:python_env> workon 也可查看所有虚拟环境
    

    4.切换虚拟环境

    (python_3) D:python_env> workon python_3.6.5
    (python_3.6.5) D:python_env>
    

    5.退出虚拟环境

    (python_3.6.5) D:python_env> deactivate
    

    6.删除虚拟环境

    D:python_env> rmvirtualenv python3.6.5  # 或删除文件夹
    Deleted D:python_envpython3.6.5
    
  • 其他命令

    lssitepackages  # 查看所有安装的包
    cdvirtualenv    # 切换到当前虚拟环境所在目录
    
原文地址:https://www.cnblogs.com/bbiu/p/13231323.html