美文网首页Python 指南码农的世界大数据 爬虫Python AI Sql
说一说那些我也不太懂的 Python 虚拟环境管理

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

作者: 谢烟客 | 来源:发表于2017-10-09 15:48 被阅读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 群:397234385
    • 或者 QQ 扫码入群:
    qq群.jpg

    相关文章

      网友评论

      本文标题:说一说那些我也不太懂的 Python 虚拟环境管理

      本文链接:https://www.haomeiwen.com/subject/hnqpyxtx.html