文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Pipenv项目化你的python应用

2023-01-30 23:31

关注

目录

  • Pipenv
    • 什么是pipenv
    • 安装pipenv
    • pipenv用法
    • 使用pipenv开发项目
    • pipenv 结合 pyenv

Pipenv

什么是pipenv

Pipenv is a production-ready tool that aims to bring the best of all packaging worlds to the Python world. It harnesses Pipfile, pip, and virtualenv into one single command.

使用pipenv进行包管理来开发python项目,pipenv提供了功能:进行第三方packages安装,生成项目包依赖文件及在项目开发过程中对依赖包的curd操作的版本记录和隔离出项目python虚拟环境。

pipenv大致工作模式:

  • 基于项目目录环境,即要进入项目根目录下。
  • 在项目目录下,执行pipenv才可以。pipenv依赖项目目录名寻找或创建虚拟环境,依赖项目目录下的Pipfile和Pipfile.lock来进行依赖安装和pypi源的地址信息。
  • 然后pipenv提供进入虚拟环境和通过虚拟环境运行python程序。

Tips:我们经常说到依赖管理,其实主要是发布library库依赖和项目应用依赖,分别对应的是setup.py 与 Pipfile(或者requirements.txt)。对于我们初学者很少会发布library库到pypi,所以库依赖我们很少接触。最多的还是利用github发布项目应用,就使用pip或pipenv来生成项目包依赖文件。

安装pipenv

pip install --user pipenv 这里推荐就安装到user目录下。

pipenv用法

常用命令

  1. pipenv shell 如果当前目录还没有通过pipenv初始化过,那么pipenv shell将类似pipenv install初始化当前项目;如果当前目录已经初始化过有pipfile,那么将通过shell加载虚拟环境,进入虚拟环境。
  2. pipenv --rm 删除当前项目目录额虚拟环境,但是不会删除Pipfile 和 Pipfile.lock.
  3. pipenv install third-package 使用pipenv安装第三方python包到虚拟环境
  4. pipenv --hellp 查看帮助文档
  5. pipenv --venv 查看当前项目的虚拟环境位置
  6. pipenv install --python 3.7.0 初始化时指定使用的python版本,推荐都要明确指定,不然你的项目可能使用了错误的python版本。
  7. pipenv --envs 打印当前环境pipenv的环境变量
  8. pipenv --py 打印当前项目使用的python信息
  9. pipenv install third-package --dev 将包安装设置为开发依赖
  10. pipenv graph 打印依赖树图
  11. pinenv run commands 使用虚拟环境下运行命令

pipenv命令参考

使用pipenv开发项目

两种大的情况

初始化项目

  • 对于初始化的项目,使用pipenv 初始化项目目录,初始化参数要指定好使用的python版本,如参数 --python 3.6 后面的版本好要时当前环境中已经安装了的python版本。如果只是提供参数 --three 或者 --two 分别表示使用py3 或 py2 ,即时当前环境的python3 和 pythhon2 具体小版本号这需要执行查看版本来确定了。也可以从初始化后的Pipfile查看requests.python_version。

  • 具体逻辑如下:

The current rule works like this (if pyenv is not present):
     --three is essentially a shorthand for --python=3 (and --two is --python=2).
     If --python=X is specified, look for python{X} in PATH (if X looks like a version number).
     Otherwise, if requires.python_version = Y look for python{Y} in PATH
     Otherwise use whatever Python Pipenv is on (sys.executable).

  • 使用pipenv初始化项目目录,会创建一个指定的python版本的一个虚拟环境。以后通过pipenv安装的package都会安装到该虚拟环境中。使用pipenv还会将安装的信息记录到Pipfile中。
  • 需要注意的就是pipenv的运行需要在对应的项目目录下,也就是在pipfile文件同目录下进行操作,这样才能自动。要使用注意

已有项目

  • 如果项目开始没有使用pipenv进行依赖记录。如果是requirements.txt,然后重新通过pipenv来管理项目依赖,那依赖packages的安装,则需要pipenv从requirements.txt读取并安装最后重新生成依赖到Pipfile文件中,并将三方包都安装到了项目的虚拟环境中,命令:pipenv install -r ./requirements.txt。
  • 如果就是Pipfile,则从pipfile中安装依赖。
  • 对应当前没有的版本,如果系统安装了pyenv,会提示通过pyenv安装需要的python版本。

pipenv 结合 pyenv

首先,要安装pyenv
然后在通过pipenv install --python 3.7.0 初始化项目并指定python版本,如果该python当前系统没有,那么pipenv会自动人性化的调用pyenv安装3.7.0版本。

大致就这样。

参考文档

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯