python生成项目依赖文件requirements.txt

文章目录

通过pip freeze去生成

pip freeze > requirements.txt会将整个python的Interceptor的环境下lib包下所有的依赖都生成到这个文件当中,取决于我们使用的python的版本下所有的安装包。不建议使用这种方式,因为在我们日常的工作当中,一个基础的python解释器会给很多的项目去使用,安装包会很多。 例如我们常用项目的python解释器的配置方式如下,我们一般会为每个项目单独生成一个虚拟环境。

通过pipreqs去生成

只会安装当前项目依赖的包,扫码项目路径下的所有py文件,只会根据你项目代码中 import 的模块,生成真正需要的依赖。

bash 复制代码
pipreqs ./ --encoding=utf8 --ignore .\.venv\ 
--force --pypi-server https://pypi.tuna.tsinghua.edu.cn/simple

--ignore ...venv\ 安装时忽略虚拟环境当中的包,为什么忽略 venv 是安全的?

  • pipreqs 的目的是:根据你项目代码中 import 的模块,生成真正需要的依赖。
  • 它并不会从虚拟环境中读取"你安装了什么",而是扫描项目文件夹里的 .py 文件,看你导入了什么模块,然后反查这个模块来自哪个 pip 包。
  • 所以你只要没在项目代码中 import 某个东西,它就不会被写进 requirements.txt,即使它在虚拟环境中存在。
相关推荐
彭泽布衣3 分钟前
python2.7/lib-dynload/_ssl.so: undefined symbol: sk_pop_free
python·sk_pop_free
DIY机器人工房26 分钟前
代码详细注释:ARM-Linux字符设备驱动开发案例:LCD汉字输出改进建议开发板断电重启还能显示汉字,显示汉字位置自定义
linux·嵌入式·文件io·diy机器人工房
witton35 分钟前
Go语言网络游戏服务器模块化编程
服务器·开发语言·游戏·golang·origin·模块化·耦合
喜欢吃豆37 分钟前
从零构建MCP服务器:FastMCP实战指南
运维·服务器·人工智能·python·大模型·mcp
得物技术42 分钟前
eBPF 助力 NAS 分钟级别 Pod 实例溯源|得物技术
linux
Rudon滨海渔村1 小时前
解决阿里云ubuntu内存溢出导致vps死机无法访问 - 永久性增加ubuntu的swap空间 - 阿里云Linux实例内存溢出(OOM)问题修复方案
linux·运维·ubuntu
一个处女座的测试1 小时前
Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
python·mysql·pytest
枯萎穿心攻击1 小时前
ECS由浅入深第三节:进阶?System 的行为与复杂交互模式
开发语言·unity·c#·游戏引擎
Jerry Lau1 小时前
go go go 出发咯 - go web开发入门系列(一) helloworld
开发语言·前端·golang
nananaij1 小时前
【Python基础入门 re模块实现正则表达式操作】
开发语言·python·正则表达式