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,即使它在虚拟环境中存在。
相关推荐
脚踏实地的大梦想家11 小时前
【Go】P19 Go语言并发编程核心(三):从 Channel 安全到互斥锁
开发语言·安全·golang
逻极11 小时前
Rust数据类型(下):复合类型详解
开发语言·后端·rust
星释11 小时前
Rust 练习册 12:所有权系统
开发语言·后端·rust
wdfk_prog11 小时前
[Linux]学习笔记系列 -- [kernel][time]timekeeping
linux·笔记·学习
tianyuanwo11 小时前
Rust开发完全指南:从入门到与Python高效融合
开发语言·python·rust
yuanManGan11 小时前
走进Linux的世界:冯诺依曼体系结构
linux
小白银子11 小时前
零基础从头教学Linux(Day 60)
linux·数据库·mysql·oracle
new_daimond12 小时前
Linux 服务器内存监控与优化指南
linux·服务器·chrome
如何原谅奋力过但无声12 小时前
TensorFlow 2.x常用函数总结(持续更新)
人工智能·python·tensorflow
民乐团扒谱机12 小时前
脉冲在克尔效应下的频谱展宽仿真:原理与 MATLAB 实现
开发语言·matlab·光电·非线性光学·克尔效应