Python使用requirements.txt和pip打包批量安装的实现

 更新时间:2023年02月17日 11:05:37   作者:田辛 | 田豆芽  
本文主要介绍了Python使用requirements.txt和pip打包批量安装的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

当我们程序越来越复杂,使用pip管理Python包(库)。我们可以方便的使用配置文件 requirements.txt 批量安装指定版本的指定包。

关于涉及到的pip官方的手册在这个位置: pip documentationv23.1.dev0

本文对以下内容进行说明:

  • pip 的批量安装选项: -r requirements.txt
  • 配置文件 requirements.txt 的写法
  • 生成当前环境的requirements.txt配置文件: pip freeze

1. pip 的批量安装选项:-r requirements.txt

以下命令根据配置文件 requirements.txt 批量安装包。

$ pip install -r requirements.txt

配置文件名是任意的,但经常使用 requirements.txt 这个名字。
将 requirements.txt 放在运行命令的目录中。如果它在另一个目录中,请指定当前目录的绝对路径或相对路径。

2. 配置文件requirements.txt怎么写

下面是一个典型的requirements.txt文件的例子

###### 下面的是不需要版本要求的 ######`
nose
nose-cov
beautifulsoup4

###### 进行版本要求的例子 ######`
docopt == 0.6.1         # 必须严格的 0.6.1 的版本
keyring >= 4.1.1        # 最小的版本 4.1.1
coverage != 3.5         # 版本排除,只要不是 3.5 都可以
Mopidy-Dirble ~= 1.1    # 兼容版本。与>=1.1,==1.* 相同

仔细看上面的代码,我们有如下规律

  • 与 Python 代码一样, # 之后的任何内容都是注释。
  • 在实际使用时,可以使用 == 、 > 、 >= 、 < 、 <= 等指定版本。如果省略版本说明,将安装最新版本。

另外,如果需要可以用 AND 指定两个条件,方法是用逗号 , 分隔它们。在以下示例中,将安装高于 1.0 AND 低于 2.0 的版本。

package >= 1.0, <=2.0

3. 导出当前环境配置文件:pip freeze

pip freeze 命令将当前环境安装的包和版本以配置文件的形式输出,可以和 pip install -r 一起使用。

$ pip freeze
agate==1.6.0
agate-dbf==0.2.0
agate-excel==0.2.1
agate-sql==0.5.2

因此,如果将 pip freeze 输出到带有重定向 > 的文件,则可以使用该文件在单独的环境中安装与原始环境相同版本的包。

田辛老师在复制环境的时候,经常这样做:

第一步,生成requirements.txt文件

$ pip freeze > requirements.txt

第二步,在新的机器上

$ pip install -r requirements.txt

到此这篇关于Python使用requirements.txt和pip打包批量安装的实现的文章就介绍到这了,更多相关Python requirements.txt和pip打包批量安装内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中Numpy与TensorFlow版本兼容问题完美解决办法

    Python中Numpy与TensorFlow版本兼容问题完美解决办法

    这篇文章主要给大家介绍了关于Python中Numpy与TensorFlow版本兼容问题的完美解决办法,确保Python版本与TensorFlow版本兼容是首要任务,因为不兼容的组合可能导致导入错误或其他运行时问题,需要的朋友可以参考下
    2024-07-07
  • python 调制解调的实现

    python 调制解调的实现

    在Python中,可以使用SciPy和NumPy库来处理信号,包括进行FM信号的解调,本文主要介绍了python 调制解调的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • numpy.delete删除一列或多列的方法

    numpy.delete删除一列或多列的方法

    下面小编就为大家分享一篇numpy.delete删除一列或多列的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 利用python调用摄像头的实例分析

    利用python调用摄像头的实例分析

    在本篇文章里小编给大家整理了一篇关于利用python调用摄像头的实例分析内容,有需要的朋友们跟着参考下。
    2021-06-06
  • 解决win10 vscode 无法激活python 虚拟环境的问题

    解决win10 vscode 无法激活python 虚拟环境的问题

    这篇文章主要介绍了win10 vscode 无法激活python 虚拟环境的解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • 一小时学会TensorFlow2之自定义层

    一小时学会TensorFlow2之自定义层

    这篇文章主要介绍了TensorFlow2之自定义层,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 关于adfuller函数返回值的参数说明与记录

    关于adfuller函数返回值的参数说明与记录

    这篇文章主要介绍了关于adfuller函数返回值的参数说明与记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • python 插入Null值数据到Postgresql的操作

    python 插入Null值数据到Postgresql的操作

    这篇文章主要介绍了python 插入Null值数据到Postgresql的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python多线程编程(六):可重入锁RLock

    Python多线程编程(六):可重入锁RLock

    这篇文章主要介绍了Python多线程编程(六):可重入锁RLock,本文直接给出使用实例,然后讲解如何使用RLock避免死锁,需要的朋友可以参考下
    2015-04-04
  • 在django项目中导出数据到excel文件并实现下载的功能

    在django项目中导出数据到excel文件并实现下载的功能

    这篇文章主要介绍了在django项目中导出数据到excel文件并实现下载的功能,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03

最新评论