zoukankan      html  css  js  c++  java
  • 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    # 切换到当前虚拟环境所在目录
      
  • 相关阅读:
    Qt多文档实现屏幕空间(类似监控多画面)效果
    python 使用ctypes调用C/C++ dll
    C++回调函数理解使用
    Qt MDI子窗口图标设置问题
    CentOS 7安装Qt5.12.1过程
    linux遇到xxx is not in the sudoers file.This incident will be reported的问题
    3D建模的类型:哪种最适合您的需求?
    letter-shell | 一个功能强大的嵌入式shell(转)
    EasyLogger | 一款轻量级且高性能的日志库(转)
    Linux下开发stm32(一) | 使用gcc-arm-none-eabi工具链编译(转)
  • 原文地址:https://www.cnblogs.com/bbiu/p/13231323.html
Copyright © 2011-2022 走看看