zoukankan      html  css  js  c++  java
  • Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了

    前言

    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
    
  • 相关阅读:
    IOS之Block的应用-textFeild的回调应用
    KVC与KVO的不同
    git
    perl读取excel
    Linux用户管理
    Linux软件包的管理
    linux系统学习(二)
    linux系统学习(一)
    js模版渲染
    Discuz核心函数的解析
  • 原文地址:https://www.cnblogs.com/PyKK2019/p/10787289.html
Copyright © 2011-2022 走看看