zoukankan      html  css  js  c++  java
  • python使用 requirements.txt 管理所需的包

    使用 requirements.txt 管理所需的包

    若要与其他人共享项目、使用生成系统,或打算将项目复制到需要在其中还原环境的其他任何位置,必须指定项目需要的外部包。 建议的方法是使用 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”以创建必需的文件。 如果文件已存在,会出现有关如何进行更新的提示:

      更新 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:Projectenvuildazuresetup.py) egg_info for package azure
    
    Building wheels for collected packages: azure
        Running setup.py bdist_wheel for azure
        Destination directory: c:projectwheelhouse
    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:Projectenvuild...
    

    请参阅

    反馈

    我们衷心期

  • 相关阅读:
    防止死锁的加锁机制
    python线程threading.Timer源码解读
    python语言线程标准库threading.local源码解读
    栈和队列的总结
    如何根据入栈序列判断可能的出栈序列
    使用 Air 热编译 Gin 项目
    【Golang设计模式】7.外观模式
    Go中的数据类型、指针、new和make
    【Golang设计模式】6.模板方法模式
    【Golang设计模式】5.原型模式
  • 原文地址:https://www.cnblogs.com/it-tsz/p/10544635.html
Copyright © 2011-2022 走看看