项目根目录有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
相关推荐
WanderInk1 天前
刷新后点赞全变 0?别急着怪 Redis,这八成是 Long 被 JavaScript 偷偷“改号”了(一次线上复盘)
后端
吴佳浩1 天前
Python入门指南(七) - YOLO检测API进阶实战
人工智能·后端·python
廋到被风吹走1 天前
【Spring】常用注解分类整理
java·后端·spring
货拉拉技术1 天前
出海技术挑战——Lalamove智能告警降噪
人工智能·后端·监控
最贪吃的虎1 天前
Git: rebase vs merge
java·运维·git·后端·mysql
用户47949283569151 天前
给客户做私有化部署,我是如何优雅搞定 NPM 依赖管理的?
前端·后端·程序员
间彧1 天前
混沌工程在SpringBoot项目中的实践与应用
后端
隔壁阿布都1 天前
使用LangChain4j +Springboot 实现大模型与向量化数据库协同回答
人工智能·spring boot·后端