首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

python项目批量引入需要的类库

python项目批量引入需要的类库

我们在之前的文章中已经学习过关于python的模块
python模块

有一种应用场景,在复用项目的时候,会出现模块未安装的情况导致报错。

那么python项目的怎么进行模块的管理呢

一种是原生的requirements.txt文件管理

一种是使用第三方的类库模块管理工具,例如poetry。

本篇文章先来了解原生的requirements.txt文件管理。
简介

requirements.txt文件是用于管理python项目需要的类库包和模块的。

格式如下:

requests==1.2.0
Flask==0.10.1



包含类库名和版本信息即可。
已有python项目自动生成requirements.txt文件

除了手动维护requirements.txt文件之外,有一些比较好的方法自动生成requirements.txt文件
方法一:pip freeze

pip freeze > requirements.txt



pip freeze命令输出的格式和requirements.txt文件内容格式完全一样,因此我们可以将pip freeze的内容输出到文件requirements.txt中。在其他机器上可以根据导出的requirements.txt进行包安装。

注意:pip freeze输出的是本地环境中所有三方包信息,但是会比pip list少几个包,因为pip,wheel,setuptools等包,是自带的而无法(un)install的,如果要显示所有包可以加上参数-all,即pip freeze -all
方法二:pipreqs

使用pipreqs生成requirements.txt

首先先安装pipreqs

pip install pipreqs



使用pipreqs生成requirements.txt
使用方法:pipreqs 加上当前路径即可或者指定项目路径。

pipreqs .
pipreqs ./
pipreqs /path/to/project


注意:pipreqs生成指定目录下的依赖类库
上面两个方法的区别?

使用pip freeze保存的是当前Python环境下所有的类库,如果你没有用virtualenv来对Python环境做虚拟化的话,类库就会很杂很多,在对项目进行迁移的时候我们只需关注项目中使用的类库,没有必要导出所有安装过的类库,因此我们一般迁移项目不会使用pipreqs,pip freeze更加适合迁移整个python环境下安装过的类库时使用。

不知道virtualenv是什么或者不会使用它的可以查看:《构建Python多个虚拟环境来进行不同版本开发之神器-virtualenv》

使用pipreqs它会根据当前目录下的项目的依赖来导出三方类库,因此常用与项目的迁移中。

这就是pip freeze、pipreqs的区别,前者是导出Python环境下所有安装的类库,后者导出项目中使用的类库。
迁移python项目后使用requirements.txt文件引入类库

如果要安装requirements.txt中的类库内容,那么你可以执行

pip install -r requirements.txt
返回列表