项目根目录有requirements.txt 如何安装

在使用 Python 进行项目开发的时候,常常会调用许多包,而这些包又会不断更新。 因此,当前项目所需要的包的功能,在以后的迭代中可能会被取代或者更新, 从而导致在某个时间重新启动项目时无法运行。

所以,记录下项目所需要的包类型及版本是非常重要的, 这样以后重启项目时可以直接安装。

requirements.txt 是定义项目依赖的 Python 包的文件,可通过工具生成。 工具可以生成两种依赖包定义:

  1. 项目依赖的 Python
  2. 当前 Python 环境中安装的所有 Python

一、生成 requirements.txt 文件

1. 生成项目依赖包(推荐方式)

安装 pipreqs 工具

bash 复制代码
pip3 install pipreqs

到项目根目录下执行命令:

bash 复制代码
pipreqs ./

如果出现编码错误,可以使用:

bash 复制代码
pipreqs ./ --encoding=utf8

如果已存在 requirements.txt,可以使用 --force 参数强制生成:

bash 复制代码
pipreqs ./ --force

这样会在项目目录下生成 requirements.txt 文件。


2. 生成整个当前 Python 环境安装的包(全局环境)

这种方式会在当前路径下生成一个 requirements.txt 文件, 其中记录了当前 Python 环境下所有的包及其版本。

可以理解为把 pip list 命令的结果写入了文件。 这种方式速度快,但 requirements.txt 文件包含的包会比项目需要的多。

命令如下:

bash 复制代码
pip3 freeze > requirements.txt

二、安装 requirements.txt 文件

推荐先使用 conda 新建一个虚拟环境,再使用以下命令:

bash 复制代码
pip3 install -r requirements.txt

如果需要加速下载,可以添加清华镜像:

bash 复制代码
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

注:

  • 如果有项目的源环境(比如从一台电脑复制到另一台电脑), 可以直接复制整个虚拟环境。

  • 如出现以下错误:

vbnet 复制代码
Fatal error in launcher: Unable to create process using '"C:\Users|Administrator\Anaconda\envs\python\python.exe""D:\Anaconda\envs\python\Scripts\pip.exe"'

可以重新安装 pip

  • 如果没有网络,需要离线安装 .whl 文件,可以这样:
bash 复制代码
python -m pip install xxx.whl
相关推荐
qq_2975746716 分钟前
【实战】POI 实现 Excel 多级表头导出(含合并单元格完整方案)
java·spring boot·后端·excel
郝学胜-神的一滴28 分钟前
超越Spring的Summer(一): PackageScanner 类实现原理详解
java·服务器·开发语言·后端·spring·软件构建
Tony Bai31 分钟前
“Go 2,请不要发生!”:如果 Go 变成了“缝合怪”,你还会爱它吗?
开发语言·后端·golang
Victor3561 小时前
Hibernate(91)如何在数据库回归测试中使用Hibernate?
后端
Victor3561 小时前
MongoDB(1)什么是MongoDB?
后端
Victor3567 小时前
https://editor.csdn.net/md/?articleId=139321571&spm=1011.2415.3001.9698
后端
Victor3567 小时前
Hibernate(89)如何在压力测试中使用Hibernate?
后端
灰子学技术9 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
Gogo81610 小时前
BigInt 与 Number 的爱恨情仇,为何大佬都劝你“能用 Number 就别用 BigInt”?
后端
fuquxiaoguang10 小时前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析