python依赖管理工具

2023-11-11

python依赖管理方案

pip作为python默认的包管理工具, 提供了在线安装python依赖包的工具. 但是内置的pip freeze默认打包整个机器上的python依赖环境, 不太友好. 下面简单介绍4个常用的依赖管理工具.

pip

pip freeze > requirements.txt 打包整个机器上的python环境并重定向到requirements.txt文档之中

pip install -r requirements.txt 根据以来描述文件安装对应依赖

pipreqs

pipreqs 对给定文件夹中的python依赖进行解析, 并且生成依赖描述文件requirements.txt

后续可以直接使用pip install -r requirements.txt来安装依赖

pip-tools

使用pip-tools可以精准的控制项目依赖

pip-compile 可以在setup.py文件或者requirements.in文件中递归的解析出完整的依赖路径. 并将其输出到requirements.txt之中.

(这里的setup.py是python应用的分发工具. 暂时还用不上. 直接写出requirements.in就行了.)

# pip-compile 

## 用例
pip-compile 默认根据setup.py生成依赖描述文件
pip-compile 默认根据requirements.in生成依赖描述文件
## 这里可以通过两个不同名的依赖描述文件来管理两套环境
## 另外requirements.in中可以通过-c选项来嵌套的引入requirements.txt约束

## 常用参数
--upgrade 根据依赖描述文件更新所有包
-P --upgrade-package <pkg_name> 对指定包进行更新(可以加上版本限制)
--output-file 指定输出文件

pip-sync 需要安装在与项目相同的虚拟环境之中. (这里可以和conda配合使用, 在conda的虚拟环境中安装pip-sync)

pip-sync可以让当前的虚拟环境与pip-compile生成的requirements.txt文件相一致.

# pip-sync

## 用例
pip-sync <requirements-file> 可以同时同步多个环境. 当然, 这里的默认值为requirements.txt

pigar

pigar -s选项可以从import name中查找出真实的依赖库

pipdeptree

用于展示解析出项目依赖的树形结构

pip具体使用方法

pip主要用于python的包管理, 具体用法可以直接通过pip -h来进行查询. 这里就不加以赘述了.

Usage:
  pip <command> [options]

Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
  check                       Verify installed packages have compatible dependencies.
  config                      Manage local and global configuration.
  search                      Search PyPI for packages.
  cache                       Inspect and manage pip's wheel cache.
  wheel                       Build wheels from your requirements.
  hash                        Compute hashes of package archives.
  completion                  A helper command used for command completion.
  debug                       Show information useful for debugging.
  help                        Show help for commands.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python依赖管理工具 的相关文章

  • 我怎样才能更多地了解Python的内部原理? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我使用Python编程已经有半年多了 我对Python内部更感兴趣 而不是使用Python开发应用程序
  • python 中的代表

    我实现了这个简短的示例来尝试演示一个简单的委托模式 我的问题是 这看起来我已经理解了委托吗 class Handler def init self parent None self parent parent def Handle self
  • 如何正确地将 MIDI 刻度转换为毫秒?

    我正在尝试将 MIDI 刻度 增量时间转换为毫秒 并且已经找到了一些有用的资源 MIDI Delta 时间刻度到秒 http www lastrayofhope co uk 2009 12 23 midi delta time ticks
  • 如何使用 Plotly 中的直方图将所有离群值分入一个分箱?

    所以问题是 我可以在 Plotly 中绘制直方图 其中所有大于某个阈值的值都将被分组到一个箱中吗 所需的输出 但使用标准情节Histogram类我只能得到这个输出 import pandas as pd from plotly import
  • Django 模型在模板中不可迭代

    我试图迭代模型以获取列表中的第一个图像 但它给了我错误 即模型不可迭代 以下是我的模型和模板的代码 我只需要获取与单个产品相关的列表中的第一个图像 模型 py class Product models Model title models
  • 如何计算numpy数组中元素的频率?

    我有一个 3 D numpy 数组 其中包含重复的元素 counterTraj shape 13530 1 1 例如 counterTraj 包含这样的元素 我只显示了几个元素 array 136 129 130 103 102 101 我
  • 以同步方式使用 FastAPI,如何获取 POST 请求的原始正文?

    在中使用 FastAPIsync not async模式 我希望能够接收 POST 请求的原始 未更改的正文 我能找到的所有例子都显示async代码 当我以正常同步方式尝试时 request body 显示为协程对象 当我通过发布一些内容来
  • 使用 OLS 回归预测未来值(Python、StatsModels、Pandas)

    我目前正在尝试在 Python 中实现 MLR 但不确定如何将我找到的系数应用于未来值 import pandas as pd import statsmodels formula api as sm import statsmodels
  • TensorFlow的./configure在哪里以及如何启用GPU支持?

    在我的 Ubuntu 上安装 TensorFlow 时 我想将 GPU 与 CUDA 结合使用 但我却停在了这一步官方教程 http www tensorflow org get started os setup md 这到底是哪里 con
  • 如何设置 Celery 来调用自定义工作器初始化?

    我对 Celery 很陌生 我一直在尝试设置一个具有 2 个独立队列的项目 一个用于计算 另一个用于执行 到目前为止 一切都很好 我的问题是执行队列中的工作人员需要实例化一个具有唯一 object id 的类 每个工作人员一个 id 我想知
  • 查找哪个程序运行另一个程序

    我有一个 NAS 运行在 Redhat Linux 的有限版本上 我按照指示破解了它 这样我就可以访问 shell 这很有帮助 我还做了一些修改 其他人也做过修改 除了一个问题之外 它们似乎都工作得很好 不知何故 每隔 22 天 系统就会关
  • Seaborn Pairplot 图例不显示颜色

    我一直在学习如何在Python中使用seaborn和pairplot 这里的一切似乎都工作正常 但由于某种原因 图例不会显示相关的颜色 我无法找到解决方案 因此如果有人有任何建议 请告诉我 x sns pairplot stats2 hue
  • 将 2D NumPy 数组按元素相乘并求和

    我想知道是否有一种更快的方法 专用 NumPy 函数来执行 2D NumPy 数组的元素乘法 然后对所有元素求和 我目前使用np sum np multiply A B 其中 A B 是相同维度的 NumPy 数组m x n 您可以使用np
  • 在 Pandas 中使用正则表达式的多种模式

    我是Python编程的初学者 我正在探索正则表达式 我正在尝试从 描述 列中提取一个单词 数据库名称 我无法给出多个正则表达式模式 请参阅下面的描述和代码 描述 Summary AD1 Low free DATA space in data
  • 使用 Firefox 绕过弹出窗口下载文件:Selenium Python

    我正在使用 selenium 和 python 来从中下载某些文件web page http www oceanenergyireland com testfacility corkharbour observations 我之前一直使用设
  • 迭代 my_dict.keys() 并修改字典中的值是否会使迭代器失效?

    我的例子是这样的 for my key in my dict keys my dict my key mutate 上述代码的行为是否已定义 假设my dict是一本字典并且mutate是一个改变其对象的方法 我担心的是 改变字典中的值可能
  • 当鼠标悬停在上面时,intellisense vscode 不显示参数或文档

    我正在尝试将整个工作流程从 Eclipse 和 Jupyter Notebook 迁移到 VS Code 我安装了 python 扩展 它应该带有 Intellisense 但它只是部分更糟糕 我在输入句点后收到建议 但当将鼠标悬停在其上方
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 限制 django 应用程序模型中的单个记录?

    我想使用模型来保存 django 应用程序的系统设置 因此 我想限制该模型 使其只能有一条记录 极限怎么办 尝试这个 class MyModel models Model onefield models CharField The fiel
  • Scrapy Spider不存储状态(持久状态)

    您好 有一个基本的蜘蛛 可以运行以获取给定域上的所有链接 我想确保它保持其状态 以便它可以从离开的位置恢复 我已按照给定的网址进行操作http doc scrapy org en latest topics jobs html http d

随机推荐

  • 1805. 字符串中不同整数的数目

    给你一个字符串 word 该字符串由数字和小写英文字母组成 请你用空格替换每个不是数字的字符 例如 a123bc34d8ef34 将会变成 123 34 8 34 注意 剩下的这些整数为 相邻彼此至少有一个空格隔开 123 34 8 和 3
  • 什么是android原生系统版本,定制安卓和原生Android到底有哪些不同之处?彻底真相了...

    相信大家都知道最近在搞机圈有个大新闻 就是小米即将于8月份推出MIUI 9 近日小米MIUI市场副总监 黄龙中 就在微博上征求米粉意见 暗示MIUI 9可能长下面这样 小米最新官方主题 几何 浓浓flyme风 自2010年MIUI横空出世
  • JavaScript---必看的8个高频笔试题 覆盖JS大部分知识

    前言 通过这8道题 你将了解到JavaScript中的 变量的作用域提升即声明提前 函数也有作用域提升 ES6中的let和const不会造成变量的作用域提升 作用域和闭包 ES6中的箭头函数 JavaScript的核心 事件循环机制 事件循
  • html兼容性速查,HTML 5标签、属性、事件及兼容性速查表

    HTML 5 可以说是近十年来 Web 标准最巨大的飞跃 和以前的版本不同 HTML 5 并非仅仅用来表示 Web 内容 它的使命是将 Web 带入一个成熟的应用平台 在这个平台上 视频 音频 图象 动画 以及同电脑的交互都被标准化 尽管
  • Python显微外周血细胞图像增强颜色变换4种多层感知分类器

    显微外周血细胞图像数据 正常外周血数据集包含总共 17 092 个单个细胞的图像 这些图像是使用分析仪 CellaVision DM96 采集的 所有图像均在颜色空间 RGB 中获得 图像的格式和大小分别为 jpg 和 360 363 像素
  • 敏捷方法论的前世今生- 敏捷历史,敏捷宣言与敏捷12条原则

    敏捷方法论的前世今生 敏捷方法的历史 敏捷一词来源于2001年初美国犹他州雪鸟滑雪胜地的一次敏捷方法发起者和实践者 他们发起组成了敏捷联盟 的聚会 迭代和增量开发方法最早可以追溯到二十世纪三十年代非软件项目 二十世纪六十年代美国航天局水星计
  • vc中如何获取打开文件名

    在编制程序的过程中 很多时候我们需要从外部存储器中获取文件名 如果你知道文件路径 那很容易解决 但是不知道文件路径的话 怎么办呢 其实答案地球人都知道 那就是vc提供的 打开文件对话方块 怎么使用它呢 请看代码 include
  • JS实现Excel表格数据的导出

    方法一 js实现 Vue2 3都可以实现 首先需要2个JS文件 文章下方会给出 或者这俩个js搜一下应该都有的 页面2个按钮 data数据 JS如下 先点击模拟发送请求 再导出数据结果如下 实现多层结构导出 完整代码
  • docker常用应用部署

    docker相关的应用部署的总体步骤 步骤1 获取对应镜像 步骤2 生成容器 外部是不能直接访问容器数据的 但是可以通过容器跟主机间的端口映射来间接访问容器数据 所以必须要带上 p参数 格式为 p 主机 宿主 端口 容器端口 外部设备可以通
  • 傻白入门芯片设计,一颗芯片的诞生(九)

    CPU生产和制造似乎很神秘 技术含量很高 许多对电脑知识略知一二的朋友大多会知道CPU里面最重要的东西就是晶体管了 提高CPU的速度 最重要的一点说白了提高主频并塞入更多的晶体管 由于CPU实在太小 太精密 里面组成了数目相当多的晶体管 所
  • 邮件系统市场行情分析

    前言 随着网络信息化的不断发展 邮件系统也日益成为企业对外沟通交流的重要工具 成为了企业的刚需 随着邮件系统技术的不断完善与发展 企业对于邮件系统功能的也提出了更高的要求 市面上逐渐诞生了众多的品牌和厂家 不同的厂家在系统的功能特点以及售后
  • Zookeeper集群设置一键启动/一键停止脚本

    学习目标 设置一键启动 Zookeeper 脚本 设置一键停止 Zookeeper 脚本 设置一键启动 Zookeeper 脚本 进入目录 cd export servers zookeeper 3 4 5 cdh5 14 0 bin 编写
  • VUE3【学习三】:setup方法,三个插槽的使用及区别,父子组件传值

    一 setup是vue3新出的一个配置项 组件中的所有方法 数据等都可写在setup里面 并且比beforeCreate和created这两个生命周期还要早出现 这就出现一个问题 即里面this打印出来为undefine 找不到了 所以以后
  • C/C++:01. C过渡到C++

    文章目录 前言 1 C 和C的历史渊源 2 C 中的 class 和C中的 struct 3 C 命名空间 名字空间 详解 3 1 namespace 是C 中的关键字 用来定义一个命名空间 语法格式为 3 2 namespace 的使用规
  • 时序预测

    时序预测 Python实现CNN SVM卷积支持向量机时间序列预测 目录 时序预测 Python实现CNN SVM卷积支持向量机时间序列预测 基本描述 模型描述 程序设计 参考资料 基本描述 Python实现CNN SVM卷积支持向量机时间
  • React09——使用脚手架编程

    使用create react app创建react应用 react脚手架 xxx脚手架 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置 语法检查 jsx编译 devServer 下载好了所有相关的依赖 可以直接运行一
  • 求解:AttributeError: module ‘requests‘ has no attribute ‘args‘解决方法

    运行id request args get id 报错 解决办法 导入 from flask import request 我搜了一下 好多都没有解决办法 问题解决了的小伙伴动动发财的小手给点点赞吧
  • python 从CSV文件中读取数据并画日期折线图

    python 从CSV文件中读取数据并画日期折线图 代码环境 python 3 7 PyCharm 2019 1 1 问题描述 用pandas read csv读取文件中的数据后 希望以第一列 时间 为横轴 以第五列 数字数据 为纵轴画出日
  • 关于ADC_NbrOfChannel与ADC_RegularChannelConfig

    ADC NbrOfChannel是设置要转换的总通道数 ADC RegularChannelConfig 是配置各个通道 里面的第2个参数是你的通道名 第3个参数是这个通道名的转换顺序号 就是转换顺序怎么定义的 就是在第3个参数定义的 例
  • python依赖管理工具

    python依赖管理方案 pip作为python默认的包管理工具 提供了在线安装python依赖包的工具 但是内置的pip freeze默认打包整个机器上的python依赖环境 不太友好 下面简单介绍4个常用的依赖管理工具 pip pip