项目根目录有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
相关推荐
赴前尘4 小时前
golang 查看指定版本库所依赖库的版本
开发语言·后端·golang
Marktowin10 小时前
Mybatis-Plus更新操作时的一个坑
java·后端
赵文宇10 小时前
CNCF Dragonfly 毕业啦!基于P2P的镜像和文件分发系统快速入门,在线体验
后端
程序员爱钓鱼10 小时前
Node.js 编程实战:即时聊天应用 —— WebSocket 实现实时通信
前端·后端·node.js
Libby博仙11 小时前
Spring Boot 条件化注解深度解析
java·spring boot·后端
源代码•宸11 小时前
Golang原理剖析(Map 源码梳理)
经验分享·后端·算法·leetcode·golang·map
小周在成长11 小时前
动态SQL与MyBatis动态SQL最佳实践
后端
瓦尔登湖懒羊羊12 小时前
TCP的自我介绍
后端
小周在成长12 小时前
MyBatis 动态SQL学习
后端