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,即使它在虚拟环境中存在。
相关推荐
云程笔记1 小时前
004.环境搭建基础篇:Python、CUDA、cuDNN、PyTorch/TensorFlow安装与版本兼容性踩坑
pytorch·python·tensorflow
小成202303202656 小时前
Linux高级02
linux·开发语言
mounter6256 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
知行合一。。。6 小时前
Python--04--数据容器(总结)
开发语言·python
++==6 小时前
Linux 进程间通信与线程同步技术详解:IPC 机制、线程 API、同步工具与经典同步问题
linux
架构师老Y6 小时前
008、容器化部署:Docker与Python应用打包
python·容器·架构
咸鱼2.06 小时前
【java入门到放弃】需要背诵
java·开发语言
ZK_H6 小时前
嵌入式c语言——关键字其6
c语言·开发语言·计算机网络·面试·职场和发展
特长腿特长7 小时前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
A.A呐7 小时前
【C++第二十九章】IO流
开发语言·c++