使用 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. C# 解决请求被中止:无法建立SSL / TLS安全通道问题

    在网上查了很多资料,基本是这么一个思路: 在通过 HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url); req.Method ...

  2. windows钩子函数

    一 什么时候用到钩子?(when)Windows操作系统是建立在事件驱动的消息处理机制之上,系统各部分之间的沟通也都是通过消息的相互传递而实现的.通常情况下,应用程序只能处理当前进程的消息,如果需要对 ...

  3. java删除文件及其目录

    1.删除指定文件路径 public @ResponseBody String deleteFiles(HttpServletRequest request) { log.info(this.getCl ...

  4. URLSession

    URLSession时ios7中的心得网络接口,与NSURLConnection是并列的. 当程序在前台时,URLSession与NSURLConnection大部分可以互相替代. URLSessio ...

  5. Maven安装配置操作

    1)下载maven安装包并解压: 2)环境变量配置: 3)编辑环境变量Path,追加%MAVEN_HOME%\bin; 4)maven安装配置后进行dos命令检查:在cmd中输入 mvn -v 5)配 ...

  6. 【Linux】Linux中Swap与Memory内存简单介绍

    背景介绍 对于Linux来说,其在服务器市场的使用已经占据了绝对的霸主地位,不可动摇.Linux的各种设计思想和使用也被传承(当然不乏各种黑Linux,而且黑的漂亮).Linux的很多独特的设计,对性 ...

  7. .Net Core中使用RabbitMQ

    (1).引入依赖 RabbitMQ.Client (2).编写发布者代码 var connectionFactory = new ConnectionFactory() { HostName=&quo ...

  8. NMS和soft-nms算法

    非极大值抑制算法(nms) 1. 算法原理 非极大值抑制算法(Non-maximum suppression, NMS)的本质是搜索局部极大值,抑制非极大值元素. 2. 3邻域情况下NMS的实现 3邻 ...

  9. SVM较全面介绍,干货!(转载)

    很不错的一篇介绍SVM的文章,证明通俗易懂! 转自:https://blog.csdn.net/v_july_v/article/details/7624837 前言 动笔写这个支持向量机(suppo ...

  10. H3C SNMP OID

    有两种mib-style [1]老些的设备 cpu 使用率OID: .1.3.6.1.4.1.25506.2.6.1.1.1.1.6.slot  内存使用率OID: .1.3.6.1.4.1.2550 ...