• Python | Pipenv官方推荐的python包管理工具


    原文地址:https://cloud.tencent.com/developer/article/1355672

    Pipenv - 官方推荐的的python包管理工具。

    Pipenv是一款旨在将所有包管理工具(如bundler, composer, npm, cargo, yarn等)的优点集中应用于python领域中的工具。它对各个平台都有很好的支持。

    它可以为你的项目自动创建和管理虚拟环境,并且在你安装/删除包时自动在Pipfile中添加/移除相应的包。它同时生成一个非常重要的Pipfile.lock文件,来保证所构建环境的确定性。

    Pipenv想要解决的问题是多方面的:

    • 你不需要再分别使用pipvirtualenv,在Pipenv中他们一起工作
    • 管理一个requirements.txt文件会产生很多问题,所以Pipenv用后面会出现的PipfilePipfile.lock将其代替,这在实际例子中效果会更好。
    • 为了安全性,哈希在多处被使用。自动公开安全漏洞。
    • 让你通过图形深入了解当前的依赖关系($ pipenv graph
    • 通过加载 .env 文件简化开发流程

    安装

    Windows环境:

    $ pip install pipenv

    如果你使用的是macOS,你可以使用Homebrew安装:

    $ brew install pipenv

    特性

    • 容易的实现确定性构建,同时可轻易地指定你想要的内容
    • 在锁定依赖项时,生成并检查文件的哈希
    • 如果pyenv可用,自动安装所需要的Python
    • 通过查找Pipfile,递归的自动查找你的项目
    • 如果Pipfile不存在,则自动生成一个
    • 在标准地址自动创建一个虚拟环境
    • 当包被安装或者删除时,自动在Pipfile中修改。
    • 如果 .env 文件存在,则自动载入

    主要命令包括 installuninstall,以及lock(生成Pipfile.lock)。这些命令可以替代$ pip install使用以及对虚拟环境的手动管理(激活虚拟环境,只需运行$ pipenv shell

    基本概念

    • 当虚拟环境不存在时,会自动创建一个
    • 当没有参数传给 install 时,将安装所有指定的包
    • 通过 $ pipenv --three,初始化一个Python3的虚拟环境
    • 通过$ pipenv --two,初始化一个Python2的虚拟环境
    • 其他命令下生成的虚拟环境都是默认设置

    其他命令

    • shell 命令会生成一个激活了虚拟环境的shell
    • run 将运行输入到虚拟环境的命令,并转发所有参数(e.g. $ pipenv run python
    • check 确定当前环境满足PEP 508的要求
    • graph 将输出一个包含当前所有已安装依赖的漂亮图形

    Shell 补全

    举个例子,使用fish shell,将下列命令加入~/.config/fish/completions/pipenv.fish:

    eval (pipenv --completion)

    另外,也可以使用bash,将下列代码加入 .bashrc 或者 .bash_profile

    eval "$(pipenv --completion)"

    神奇的shell补全功能现在已经可以使用了!(Fish 是最好的shell,你应该使用它)

    应用

    定位项目

    定位虚拟环境

    定位Python解释器

    安装包

    安装一个开发环境依赖

    展示一个依赖图:

    生成一个lockfile

    安装所有开发依赖

    卸载全部

    使用shell:

    原文发布于微信公众号 - Python专栏(xpchuiit)

  • 相关阅读:
    如何用 Gerrit 提交代码到服务器
    营收奇迹:三消游戏Candy Crush Saga成功启示录
    flash进阶之路
    Flash笔记之swf居中和swf获取页面参数游戏全屏显示
    如何做一款成功的APP应用
    演义群侠扫盲
    笔记二 air android处理用户交互
    可以准备很多字体,玩家选择性下载
    AIR中调用exe或者bat可执行文件
    很好用的工具类
  • 原文地址:https://www.cnblogs.com/boonya/p/11827656.html
Copyright © 2020-2023  润新知