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,即使它在虚拟环境中存在。
相关推荐
ygy.白茶3 分钟前
线性回归入门级
人工智能·python·机器学习
yueyuebaobaoxinx1 小时前
MATLAB 与 Simulink 联合仿真:控制系统建模与动态性能优化
开发语言·matlab·性能优化
刘同学Python学习日记1 小时前
Python 办公自动化实战:Excel 批量处理 + 自动发邮件
python
mit6.8241 小时前
[Vid-LLM] 功能分类体系 | 视频如何被“观看“ | LLM的主要作用
人工智能·python
青铜发条2 小时前
【python】python进阶——logging日志模块
python
superlls2 小时前
(计算机网络)JWT三部分及 Signature 作用
java·开发语言·计算机网络
btyzadt2 小时前
虚拟机蓝屏问题排查与解决
linux·运维·网络
无规则ai2 小时前
动手学深度学习(pytorch版):第六章节—卷积神经网络(1)从全连接层到卷积
人工智能·pytorch·python·深度学习·cnn
一只鲲3 小时前
56 C++ 现代C++编程艺术5-万能引用
开发语言·c++
秋难降3 小时前
优雅的代码是什么样的?🫣
java·python·代码规范