• pipenv——python包管理工具


    简介

    Pipenv,包管理工具,可以为项目自动创建和管理虚拟环境并非常方便地管理 Python 包,我们可以简单理解为 pip、Pipfile 和 virtualenv 的集合体。现在它也已经是 Python 官方推荐的包管理工具。

    总的来说,Pipenv 可以解决如下问题:

    • 我们不需要再手动创建虚拟环境,Pipenv 会自动为我们创建,它会在某个特定的位置创建一个 virtualenv 环境,然后调用 pipenv shell 命令切换到虚拟环境。
    • 使用 requirements.txt 可能会导致一些问题,所以 Pipenv 使用 Pipfile 和 Pipfile.lock 来替代之,而且 Pipfile 如果不存在的话会自动创建,而且在安装、升级、移除依赖包的时候会自动更新 Pipfile 和 Pipfile.lock 文件。
    • 广泛使用 Hash 校验,保证安全性。
    • 可以更清晰地查看 Python 包及其关系,调用 pipenv graph 即可呈现,结果简单明了。
    • 可通过自动加载 .env 读取环境变量,简化开发流程。

    安装

    $ pip install pipenv
    

    检查当前目录是否有虚拟环境

    $ pipenv --venv
    

    设置虚拟环境创建位置(可选)

    设置环境变量PIPENV_VENV_IN_PROJECT=1

    linux系统中可在.bash_profile或.bashrc中加入

    export PIPENV_VENV_IN_PROJECT=1
    

    windows系统就要在 控制面板 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 中添加。

    创建虚拟环境

    # 以当前系统安装的python版本为基础创建虚拟环境
    # 先进入项目目录
    $ pipenv install
    
    # 下面的命令不推荐使用,因为这些命令并不能自动下载安装相应版本的python,而是在系统中寻找已有的python
    # 创建python3的虚拟环境
    $ pipenv --three
    
    # 创建python2的虚拟环境
    $ pipenv --two
    
    # 创建具体版本的虚拟环境
    $ pipenv --python 3.7
    

    创建虚拟环境后,会在项目目录下生成两个文件Pipfile和Pipfile.lock。这两个文件是pipenv包的配置文件,代替virsualenv的requirement.txt文件。

    使用版本管理工具进行项目提交时,可将Pipfile文件和Pipfile.lock文件一并提交,待其他开发克隆下载,根据此Pipfile运行命令pipenv install生成自己的虚拟环境。

    Pipfile.lock文件是通过hash算法将包的名称和版本,以及依赖关系生成哈希值,可以保证包的完成性。

    进入虚拟环境shell

    $ pipenv shell
    

    退出虚拟环境

    exit
    

    删除虚拟环境

    $ pipenv --rm
    

    显示虚拟环境信息

    $ pipenv --venv
    

    查看已安装包和依赖关系

    $ pipenv graph
    

    安装Python第三方模块包

    $ pipenv install flask
    

    卸载Python第三方模块包

    # 卸载具体模块包
    $ pipenv uninstall flask
    
    # 卸载所有模块包
    $ pipenv uninstall --all
    

    安装所有在Pipfile.lock文件中指定的包

    $ pipenv sync
    

    查看帮助

    pipenv --help
    

    如果运行命令出错,可能是pipenv版本较老,升级下试试,

    pip install pipenv –upgrade
    

    检查模块安全性

    pipenv check
    

    删除虚拟环境中所有已安装模块,且不编辑Pipfile.lock

    pipenv uninstall --all
    

    删除一个已安装模块,且Pipfile.lock中删除

    pipenv uninstall requests
    

    创建一个新的Pipfile.lock

    pipenv lock
    

    常用命令

    --where 项目文件路径
    --venv  虚拟环境路径
    --py      虚拟环境解释器路径
    --envs  虚拟环境选项变量
    --rm     删除虚拟环境
    --site-packages  安装python解释器附带的包
    
    lock  锁定并生成pipfile.lock
    open  在编辑器中查看一个库
    run   在虚拟环境中运行命令
    update  卸载当前所有包,安装最新版本 + 模块  更新一个包
    

    .env 文件:环境变量文件

    echo "FOO=hello foo" > .env
    pipenv shell
    echo $FOO
    

    参考链接:

    https://my.oschina.net/u/2357619/blog/2995398

    https://www.return520.com/posts/18616/

    https://segmentfault.com/a/1190000015389565

  • 相关阅读:
    《转》MFC六大关键技术之(五)(六)——消息映射与命令传递
    《转》MFC六大关键技术之(四)——永久保存(串行化)
    《转》MFC六大关键技术之(三)——动态创建
    《转》MFC六大关键技术之(二)——运行时类信息(RTTI)
    《转》MFC六大关键技术之(一)—— 初始化过程
    C++ 语言的 15 个晦涩特性
    QT的项目管理文件pro的编写
    使用C++编写的一个Find(查找)对话框例子
    如何让Fedora能够打开RAR文件
    Undefined symbols for architecture i386:和"_OBJC_CLASS_$_xx", referenced from:问题解决方法
  • 原文地址:https://www.cnblogs.com/pythonwl/p/13959064.html
Copyright © 2020-2023  润新知