项目根目录有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
相关推荐
葫芦和十三13 小时前
图解 MongoDB 28|块与迁移:balancer 怎么均衡数据
后端
葫芦和十三13 小时前
图解 MongoDB 27|分片策略:范围分片 vs 哈希分片
后端·mongodb·agent
paopaokaka_luck13 小时前
英语单词学习系统的设计与实现(基于艾宾浩斯遗忘曲线的智能复习机制、语音朗读、多题型测试与错题自动收录、Echarts图形化分析)
vue.js·spring boot·后端·echarts
我叫黑大帅14 小时前
MySQL 并发插入竞态问题:原子写入实践指南
后端·mysql·面试
zhangxingchao15 小时前
AI大模型核心八:从 Agent Skill、长文档 RAG 到知识库更新与训练策略
前端·人工智能·后端
我叫黑大帅15 小时前
别再手动写 updated_at了,这坑我踩过
后端·面试·go
zhangxingchao15 小时前
AI大模型核心七:从 Workflow、RAG、记忆治理到幂等性
前端·人工智能·后端
犀利豆17 小时前
AI in Harness(二)
java·人工智能·后端
IT_陈寒17 小时前
Python装饰器竟然偷偷改了函数名?这个坑我爬了三天
前端·人工智能·后端
bkl_921317 小时前
GPT-Image-2 文生图:如何稳定生成完整的人物全身照?
后端·gpt·restful