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,即使它在虚拟环境中存在。
相关推荐
mr_LuoWei20095 分钟前
类似CASS for autoCAD的平基土石方三维计算工具基本完成
python·三维地形图
vortex58 分钟前
Kali Linux 磁盘扩容后内部分配完整教程
linux·运维
曦夜日长11 分钟前
C++ STL容器string(一):string的变量细节、默认函数的认识以及常用接口的使用
java·开发语言·c++
刻BITTER12 分钟前
VirtualBox 安装Armbian x86 虚拟机
linux·嵌入式硬件
代码中介商13 分钟前
C++ STL 标准模板库完全指南:从容器到迭代器
开发语言·c++·stl
winner888115 分钟前
C++ 构造函数、析构函数、虚函数、虚析构
开发语言·c++
想唱rap16 分钟前
应用层协议与序列化
linux·运维·服务器·网络·数据结构·c++·算法
alwaysrun18 分钟前
Python自动提取邮件订阅链接并解析
python·url·邮件·ai提取
北山有鸟18 分钟前
IS_ERR 判断出错后,再用 PTR_ERR 把它强制转换回 int 型的错误码作为函数的返回值。
java·开发语言
何中应18 分钟前
Conda安装&使用
python·conda·python3.11