使用 requirements.txt 管理所需的包

  • 2019/01/28
  • 作者

若要与其他人共享项目、使用生成系统,或打算将项目复制到需要在其中还原环境的其他任何位置,必须指定项目需要的外部包。 建议的方法是使用 requirements.txt 文件 (readthedocs.org),文件中包含安装相关包所需版本的 pip 命令列表。 最常见的命令是 pip freeze > requirements.txt,它将环境的当前包列表记录到 requirements.txt 中。

从技术上讲,任何文件名都可用于跟踪要求(通过安装包时使用 -r <full path to file>),但 Visual Studio 提供针对 requirements.txt 的特定支持:

  • 如果已加载包含 requirements.txt 的项目,且想要安装该文件列出的所有包,请展开“解决方案资源管理器”中的“Python 环境”节点,然后右键单击环境节点并选择“从 requirements.txt 安装”:

  • 如果环境中已安装所有必需的包,可在“解决方案资源管理器”中右键单击该环境,并选择“生成 requirements.txt”以创建必需的文件。 如果文件已存在,会出现有关如何进行更新的提示:

    • “替换整个文件”将删除存在的所有项、注释和选项。
    • “刷新现有条目”会检测包的要求并更新版本说明符,匹配当前安装的版本。
    • “更新并添加项”将刷新找到的任何要求,并将所有其他包添加到文件末尾。

因为 requirements.txt 文件的目的是冻结环境的要求,因此所有已安装的包都采用精确的版本编写。 使用精确的版本可确保轻松地在其他计算机上重现环境。 即使采用一个版本范围(作为另一个包的依赖项)或使用安装程序而非 pip 安装了包,也会包含这些包。

如果包不能通过 pip 安装,且它出现在 requirements.txt 文件中,则整个安装会失败。 在这种情况下,手动编辑文件以排除此包或使用 pip 的选项来指包的可安装版本。 例如,你可能更喜欢使用 pip wheel 来编译依赖项,并向 requirements.txt 添加 --find-links <path> 选项:

output复制
C:\Project>pip wheel azure
Downloading/unpacking azure
Running setup.py (path:C:\Project\env\build\azure\setup.py) egg_info for package azure Building wheels for collected packages: azure
Running setup.py bdist_wheel for azure
Destination directory: c:\project\wheelhouse
Successfully built azure
Cleaning up... C:\Project>type requirements.txt
--find-links wheelhouse
--no-index
azure==0.8.0 C:\Project>pip install -r requirements.txt -v
Downloading/unpacking azure==0.8.0 (from -r requirements.txt (line 3))
Local files found: C:/Project/wheelhouse/azure-0.8.0-py3-none-any.whl
Installing collected packages: azure
Successfully installed azure
Cleaning up...
Removing temporary dir C:\Project\env\build...

请参阅

反馈

我们衷心期

python使用 requirements.txt 管理所需的包的更多相关文章

  1. python生成requirements.txt 导出项目依赖

    使用pip freeze $ pip freeze > requirements.txt 这种方式是把整个环境中的包都列出来了,如果是虚拟环境可以使用. 通常情况下我们只需要导出当前项目的req ...

  2. Python生成requirements.txt包依赖管理文件

    requirements.txt是Python的依赖管理软件,和Java的POM一样. requirements.txt会生成使用了pip安装后的依赖包,在正常环境下会生成这个目录下的包/usr/lo ...

  3. Python使用requirements.txt安装类库

    摘要:我们为何要应用requirements.txt呢? 首要应用目标: 任何 运用顺序 平常 须要设置装置 所需并 依附 一组类库去知足 事情请求 . 请求 文件 是 指定 战 一次性 装置 包 的 ...

  4. Python生成requirements.txt方法

    在查看别人的Python项目时,经常会看到一个requirements.txt文件,里面记录了当前程序的所有依赖包及版本号,其作用是用来在另一个环境上重新构建项目所需要的运行环境依赖. require ...

  5. python 生成requirements.txt

    生成requirements.txt文件 pip freeze > requirements.txt 安装requirements.txt依赖 pip install -r requiremen ...

  6. python VENV 环境 requirements.txt的生成、使用

    python项目 requirements.txt 文件,记录所有依赖包及其精确的版本号.用于新环境部署. 在虚拟环境中pip生成命令(正常环境类似): (venv) $ pip freeze > ...

  7. Python 依赖版本控制 (requirements.txt 文件生成和使用)

    requirements.txt 最好配合虚拟空间使用, 虚拟空间的使用请参考 Python 虚拟空间的使用 - 难以想象的晴朗. requirements.txt 可以保证项目依赖包版本的确定性, ...

  8. python requirements.txt的创建及使用

    要求文件(requirements.txt)是安装包的依赖项及版本的记录文件. pip: 创建 (venv) $ pip freeze >requirements.txt 使用 (venv) $ ...

  9. python包管理(distutils、easy_install、pip、setup.py/requirements.txt、wheel)

    distutils.distutils2 distutils是 python 标准库的一部分,2000年发布.使用它能够进行 python 模块的 安装 和 发布. distutils2 被设计为 d ...

随机推荐

  1. JavaScript之不规则Table转化为可定点索引td节点的网格矩阵【插件】

    由于解析课程表的缘故,有如下需求: 1. 将任意表格解析成独立的单元格矩阵[本次博文的缘由] 2. 根据矩阵坐标,确定任意一格的节点   /* 表格-->网格化 标记表格的位置及其对应的节点 * ...

  2. luogu P2511 [HAOI2008]木棍分割

    传送门 第一问是一道经典的二分,二分答案\(ans\),然后从前往后扫,判断要分成几段救星了 第二问设\(f_{i,j}\)表示前\(i\)个数分成\(j\)段,每段之和不超过第一问答案的方案,转移就 ...

  3. python技巧 一等函数

    函数在python中作为一等函数,具有以下特点: 1.可以作为参数传递给其他函数 2.作为其他函数的值返回 3.能赋值给变量或数据结构中的元素 4.在运行的时候创建 In [1]: def add(x ...

  4. html5移动端页面分辨率设置及相应字体大小设置的靠谱使用方式

    对于html5移动端网页编写CSS网上有很多介绍的文章,但在实际使用过程中还是会纠结. 网上的资料太多,且大多都是技术介绍型,特别是针对android上,网上写的各种麻烦,各种复杂,各种不接地气儿.. ...

  5. js_原生js实现上拉加载更多的功能。

    1.人生啊,是我莽撞了啊.这是我公司一个喜欢读书的女孩子的个性签名,喜欢哪些句子,不悲伤,却切切实实的令人喜好. 2.写程序是一件很直接明了的事情,明白了就是明白了,不懂就是不懂,不懂装懂的会让你走很 ...

  6. python中的%s%是什么意思

    它是一个字符串格式化语法(它从C借用). 请参阅  “格式化字符串”: Python支持将值格式化为字符串.虽然这可以包括非常复杂的表达式,但最基本的用法是将值插入到%s 占位符的字符串中  . 编辑 ...

  7. Linux文件系统1---概述

      1.引言 本文所述关于文件管理的系列文章主要是对陈莉君老师所讲述的文件系统管理知识讲座的整理.Linux可以支持不同的文件系统,它源于unix文件系统,也是unix文件系统的一大特色. 本文主要先 ...

  8. Linux内存管理1---内存寻址

    1.前言 本文所述关于内存管理的系列文章主要是对陈莉君老师所讲述的内存管理知识讲座的整理. 本讲座主要分三个主题展开对内存管理进行讲解:内存管理的硬件基础.虚拟地址空间的管理.物理地址空间的管理. 本 ...

  9. nodejs xpath

    var fs = require('fs');var xpath = require('xpath');var dom = require('xmldom').DOMParser; // Read t ...

  10. centos6.8系统安装 Hadoop 2.7.3伪分布式集群

    安装 Hadoop 2.7.3 配置ssh免密码登陆 cd ~/.ssh                       # 若没有该目录,请先执行一次ssh localhost ssh-keygen - ...