【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
更多推荐
已为社区贡献5条内容
所有评论(0)