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,即使它在虚拟环境中存在。
相关推荐
-SGlow-25 分钟前
MySQL相关概念和易错知识点(3)(表内容的CURD、内置函数)
linux·运维·服务器·数据库·mysql
永远向阳而生1 小时前
【Linux】磁盘存储+文件系统简介
linux
程序员编程指南1 小时前
Qt 嵌入式界面优化技术
c语言·开发语言·c++·qt
君不见~2 小时前
Windows 10 WSL&Ubuntu 22.04 安装并迁移到 F 盘
linux·ubuntu·wsl迁移盘符·wsl迁移
PanYu——BJ2 小时前
CentOS Nginx 1.13.9 部署文档
linux·nginx·centos
q__y__L2 小时前
C#线程同步(二)锁
开发语言·性能优化·c#
UQWRJ2 小时前
菜鸟教程Linux ViVimYumApt笔记
linux·运维·笔记
Ray Song2 小时前
Linux DNS解析3 -- DNS解析代理配置使用
linux·dns解析·dns代理
成成成成成成果2 小时前
揭秘动态测试:软件质量的实战防线
python·功能测试·测试工具·测试用例·可用性测试
二川bro2 小时前
第二篇:Three.js核心三要素:场景、相机、渲染器
开发语言·javascript·数码相机