项目根目录有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
相关推荐
浮尘笔记9 小时前
Go实现大文件异步流式采集引擎
开发语言·后端·golang
霸道流氓气质9 小时前
Spring Boot 大数据量 Excel 导入导出功能实现指南
spring boot·后端·excel
小刘|9 小时前
Spring AI 结构化输出 + 大模型参数全解(含千问调优)
java·后端·spring
copyer_xyf9 小时前
FastAPI 项目骨架搭建
前端·后端·python
laowangpython9 小时前
tokio-rstracing:Rust 可观测性的标准答案
开发语言·后端·其他·rust
IT_陈寒9 小时前
Python虚拟环境的这个坑,我居然绕了三天才爬出来
前端·人工智能·后端
我登哥MVP9 小时前
SpringCloud 核心组件解析:服务熔断和降级
java·spring boot·后端·spring·spring cloud·java-ee·maven
Oneslide9 小时前
Claude Code 插件完全指南:安装与技能大全
后端
摇滚侠9 小时前
SpringMVC 入门到实战 异常处理 83-85
java·后端·spring·maven·intellij-idea
TPBoreas10 小时前
springboot我们项目中的常见注解
java·spring boot·后端