requirements.txt
Python 中的依赖
Python 需要维护项目相关的依赖包。通常我们会在项目的根目录下放置一个 requirements.txt 文件,用于记录所有依赖包和它的确切版本号。
requirements.txt 的内容长这样:
alembic==1.0.10
appnope==0.1.0
astroid==2.2.5
attrs==19.1.0
backcall==0.1.0
bcrypt==3.1.6
bleach==3.1.0
cffi==1.12.3
Click==7.0
decorator==4.4.0
defusedxml==0.6.0
entrypoints==0.3
如何使用?
那么 requirements.txt 究竟如何使用呢?
当我们拿到一个项目时,首先要在项目运行环境安装 requirements.txt 所包含的依赖:
pip install -r requirements.txt
当我们要把环境中的依赖写入 requirements.txt 中时,可以借助 freeze 命令:
pip freeze >requirements.txt
环境混用怎么办?
在导出依赖到 requirement.txt 文件时会有一种尴尬的情况。
你的本地环境不仅包含项目 A 所需要的依赖,也包含着项目 B 所需要的依赖。此时我们要如何做到只把项目 A 的依赖导出呢?
pipreqs 可以通过扫描项目目录,帮助我们仅生成当前项目的依赖清单。
通过以下命令安装:
pip install pipreqs
运行(在项目根目录下):
pipreqs ./
pipreqs ./ --encoding utf8
(推荐,会直接生成requirements.txt文件)
==============================================================
pipreqs
Why not pip freeze?
- pip freeze only saves the packages that are installed with pip install in your environment.
- pip freeze saves all packages in the environment including those that you don’t use in your current project (if you don’t have virtualenv).
- and sometimes you just need to create requirements.txt for a new project without installing modules.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!