Python保存环境方式(导出requirements.txt文件)

 更新时间:2025年04月16日 15:13:22   作者:Chaos_Wang_  
这篇文章主要介绍了Python保存环境方式(导出requirements.txt文件),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python保存环境(导出requirements.txt文件)

在深度学习场景中,我们经过会遇到需要保存环境的时候,例如将代码共享给他人的时候,需要导出一个requirements.txt文件,让其他人知道运行该代码所需要的python包依赖。

本文主要介绍一些常见的导出python环境的方法和工具。

1. 使用pip包导出

1)pip freezen > requirements.txt

该方法导出的的requirements.txt包含安装包所在路径,常用于一些大型项目的环境保存,一般大型项目会加载和运行多个环境,这个时候每个环境对应的位置也需要告知。

pip freezen > requirements.txt

2)pip list --format=freeze >requirement.txt

该方法导出的requirements.txt不包含安装包所在路径,与常见的requirements.txt非常类似。

以上两种方法,导出的都是该环境里面所有安装的python包,但是有些包并不是该项目中所必备的依赖,有时候导出的一些包并不是项目运行所必要的。

pip list --format=freeze >requirement.txt

3)使用pip和requirements.txt安装包

使用以下命令安装依赖包:

pip install -r requirements.txt

2. 使用conda导出

如果使用conda管理环境,也可以使用conda命令导出和安装python依赖

1)conda list -e > requirements.txt

使用以下命令导出requirements.txt文件

conda list -e > requirements.txt

若要使用conda安装requirements.txt文件,使用以下命令安装依赖:

conda install --yes --file requirements.txt

2)conda env export > freeze.yml

还可以通过conda导出yaml文件的方式来导出环境,命令如下:

conda env export > freeze.yml

导出的yaml文件使用如下命令安装:

conda env create -f freeze.yml

3. 使用pipreqs包导出(建议)

以上两种方法导出的都是整个安装环境,但是有时候一个项目并不需要安装环境里面所有的依赖,建议使用pipreqs包导出requirements.txt文件。

使用 pipreqs 可以自动检索到当前项目下的所有组件及其版本,并生成 requirements.txt 文件,极大方便了项目迁移和部署的包管理。相比直接用 requirements.txt 命令,能直接隔离其它项目的包生成。

使用如下命令安装pipreqs:

pip install pipreqs
Usage:
    pipreqs [options] <path>

Options:
    --use-local           Use ONLY local package info instead of querying PyPI
    --pypi-server <url>   Use custom PyPi server
    --proxy <url>         Use Proxy, parameter will be passed to requests library. You can also just set the
                          environments parameter in your terminal:
                          $ export HTTP_PROXY="http://10.10.1.10:3128"
                          $ export HTTPS_PROXY="https://10.10.1.10:1080"
    --debug               Print debug information
    --ignore <dirs>...    Ignore extra directories
    --encoding <charset>  Use encoding parameter for file open
    --savepath <file>     Save the list of requirements in the given file
    --print               Output the list of requirements in the standard output
    --force               Overwrite existing requirements.txt
    --diff <file>         Compare modules in requirements.txt to project imports.
    --clean <file>        Clean up requirements.txt by removing modules that are not imported in project.
    --no-pin              Omit version of output packages.

使用如下命令导出requirements.txt文件:

pipreqs ./

如果是在Windows环境下,建议使用如下命令导出requirements.txt文件:

pipreqs ./ --encoding=utf-8

如果环境中存在requirements.txt文件,需要使用以下命令导出requirements.txt文件:

pipreqs ./ --encoding=utf-8 --force

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python 中创建 PostgreSQL 数据库连接池

    Python 中创建 PostgreSQL 数据库连接池

    这篇文章主要介绍了Python 中创建 PostgreSQL 数据库连接池,Python 连接 PostgreSQL 是主要有两个包, py-postgresql 和 psycopg2 , 而本文的实例将使用后者,感兴趣的小伙伴可以参考一下
    2021-10-10
  • python读取json文件并将数据插入到mongodb的方法

    python读取json文件并将数据插入到mongodb的方法

    这篇文章主要介绍了python读取json文件并将数据插入到mongodb的方法,实例分析了Python操作json及mongodb数据库的技巧,需要的朋友可以参考下
    2015-03-03
  • python程序的打包分发示例详解

    python程序的打包分发示例详解

    这篇文章主要为大家介绍了python程序的打包分发示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • python字符串转换成浮点数的实现方式

    python字符串转换成浮点数的实现方式

    这篇文章主要介绍了python字符串转换成浮点数的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-03-03
  • Python新版极验验证码识别验证码教程详解

    Python新版极验验证码识别验证码教程详解

    这篇文章主要介绍了Python新版极验验证码识别验证码,极验验证是一种在计算机领域用于区分自然人和机器人的,通过简单集成的方式,为开发者提供安全、便捷的云端验证服务
    2023-02-02
  • Python中赋值的含义及说明

    Python中赋值的含义及说明

    这篇文章主要介绍了Python中赋值的含义及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • python爬取m3u8连接的视频

    python爬取m3u8连接的视频

    这篇文章主要为大家详细介绍了python如何爬取m3u8连接的视频,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python自制图像批量压缩工具

    Python自制图像批量压缩工具

    这篇文章主要为大家详细介绍了如何使用Python自制一个图像批量压缩工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • python中的iterator和"lazy iterator"区别介绍

    python中的iterator和"lazy iterator"区别介绍

    这篇文章主要介绍了python中的iterator和 “lazy iterator“之间有什么区别,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Python读写文件方法总结

    Python读写文件方法总结

    这篇文章主要介绍了Python读写文件方法,实例分析了Python读写文件常用的方法与使用技巧,需要的朋友可以参考下
    2015-06-06

最新评论