Python 指南码农的世界大数据 爬虫Python AI Sql

说一说那些我也不太懂的 Python 虚拟环境管理

2017-10-09  本文已影响124人  谢烟客

为什么我们需要使用虚拟环境?

  1. 大家都知道 Python 因为一些不可规划的因素导致出现了 Py2 与 Py3 两个分支,并且两个分支都在蓬勃发展,这就导致我们需要在同一台机器上同时安装 Py2 与 Py3 来应对不同项目的需求,反复的配置 Python SDK 的环境变量总是显得那么麻烦,而有了 virtualenv 我们就可以更便捷的在 Py2 与 Py3 之间进行自由的切换了。
  2. Python 的强大除了人性化的理念、简洁的设计,我相信丰富的第三方库才是 Python 的核心优势,而 Python 对第三方库的管理多数是安装在 SDK 目录下的 site-package 中,这就导致了如果我们有 2 个项目使用的同一个 SDK 但是它们依赖的第三方库不是同一个版本就需要在开发 2 个项目的同时不停的对这个第三方库不停的 install & uninstall,而有了 virtualenv 你就可以轻松的应对这些版本冲突的问题了。

如何安装 virtualenv ?

  1. 通过 pip 安装
    1. 官方源安装 virtualenv

      pip install virtualenv

    2. 豆瓣源安装 virtualenv

      pip install -i https://pypi.douban.com/simple virtualenv

  2. 通过源码安装
    1. 下载源码:

      git clone https://github.com/pypa/virtualenv.git

    2. 安装 virtualenv

      cd virtualenv && python setup.py install

virtualenv 的基础使用

  1. 通过 virtualenv 创建虚拟环境:

    1. 虚拟系统环境变量配置的 Python:

      virtualenv --no-site-packages ~/PyENV/base_py2

    2. 虚拟非系统环境变量配置的 Python:

      virtualenv -no-site-packages -p /个人 PC 中没有在系统环境变量中生效的 Python SDK 路径/python3 ~/PyENV/base_py3

  2. 激活虚拟环境

    cd ~/PyENV/base_py2/bin && source activate

  3. 退出激活后的虚拟环境

    deactivate

如何更高效的使用 virtualenv 呢?

有了 virtualenv 我上述提出的 2 个问题确实得到了有效的解决,但是当你虚拟环境创建多了后你会发现新的问题:

  1. 如何高效查看自己拥有的所有虚拟环境?
  2. 如何高效进入指定的一个虚拟环境?
  3. 如何高效的删除指定的一个虚拟环境?

上述的几个问题如果没有更好的方式解决,你就需要在众多的虚拟环境目录间来回穿梭,还是感觉很麻烦,人生苦短啊。。。

virtualenvwrapper 来帮你有效解决这些痛点

  1. virtualenvwrapper 的安装

    pip install virtualenvwrapper

  2. 配置虚拟环境的宿主目录,即配置系统环境变量:WORKON_HOME

    echo "export WORKON_HOME=~/PyENV" >> /etc/profile

  3. 激活 virtualenvwrapper

    source virtualenvwrapper.sh
    PS:以上激活仅在非 windows 系统中使用,在 windows 上无许激活即可使用。

  4. 通过 virtualenvwrapper 创建系统默认 python 的虚拟环境

    mkvirtualenv base_py2

  5. 通过 virtualenvwrapper 创建非系统默认配置的 python 虚拟环境

    mkvirtualenv --python=/Py3 SDK 的存放目录/python3 base_py3

  6. 查看现有所有虚拟环境

    workon

  7. 进入指定虚拟环境

    workon base_py3

  8. 退出虚拟环境

    deactivate

  9. 删除指定虚拟环境

    rmvirtualenv base_py3


qq群.jpg
上一篇下一篇

猜你喜欢

热点阅读