Python虚拟环境和包管理工具Pipe

发布时间:2019-05-31 21:40:09编辑:auto阅读(2465)

    前言

    Python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境。在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理。
    传统的Python虚拟环境有virtualenv,使用pip freeze -> requirements.txt 导出依赖。现在又有了一个新神器 -- Pipenv, 它是由大名鼎鼎的requests 作者 Kenneth Reitz 写的一个命令行工具,这个工具包装了virtualenv,使用Pipfile和Pipfile.lock管理,更加方便。

    Pipenv的github地址

    安装Pipenv

    首先检查Python和Pip命令能否在命令行中正确执行

    $ python -V
    $ pip -V

    在这里插入图片描述
    安装Pipenv:

    $ pip install pipenv

    验证是否成功安装:

    $ pipenv

    出现以下则安装成功
    在这里插入图片描述

    创建虚拟环境

    首先进入项目工程根目录
    创建虚拟环境:

    $ pipenv install

    如果目录中没有Pipfile和Pipfile.lock,会自动生成。如果存在,则会自动安装Pipfile中的所有依赖
    在这里插入图片描述
    创建成功后,可以在根目录中看到两个文件:
    在这里插入图片描述
    Pipfile中保存着各个依赖包的版本信息,Pipfile.lock保存着依赖包的锁信息
    由于pip源的速度过慢,我们可以修改Pipfile的源信息

    在这里插入图片描述
    常用的pip源地址如下:

    1. 清华:https://pypi.tuna.tsinghua.edu.cn/simple
    2. 阿里云:http://mirrors.aliyun.com/pypi/simple/
    3. 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
    4. 豆瓣:http://pypi.douban.com/simple/

    安装第三方依赖包

    到此为止,就可以安装依赖包了
    这里以安装requests库举例

    # Pipfile文件目录下
    $ pipenv install requests

    在这里插入图片描述
    这里执行了两步操作:1.安装到虚拟环境中,更新Pipfile里面的依赖版本。2.使用sha256算法更新pipfile.lock文件。
    注意:默认情况下会加锁,速度很慢,可以使用如下命令不加锁加快速度

    $ pipenv install xxx --skip-lock

    卸载第三方依赖包

    $ pipenv uninstall requests

    在这里插入图片描述

    查看安装的所有第三方依赖

    进入命令行交互模式:

    $ pipenv shell

    使用pip list查看

    $ pip list

    在这里插入图片描述
    因为之前卸载了requests,所以依赖不见了。

    退出命令行交互模式:

    $ exit

    注意:千万不要使用deactivate命令,否则会出错!

    常用选项

    显示虚拟环境实际文件路径

    pipenv --venv

    显示虚拟环境python解释器所在路径

    pipenv --py

    显示项目文件所在路径

    pipenv --where

    删除虚拟环境

    pipenv --rm

    安装第三方依赖但不加锁(加快速度)

    pipenv install xxx --skip-lock

    常用命令参数:

    锁定并生成pipfile.lock文件

    pipenv lock

    查看依赖关系

    pipenv graph

    在虚拟环境中运行python程序

    pipenv run xxx.py

    检查安全漏洞

    pipenv check

关键字