python的库包管理工具pip-tools

前言

对于python的包安装问题,很多时候在我们项目一边开发一边拓展的时候,很多依赖的包,会有增有减,使用python官方的依赖导出管理,pip freeze > requirements.txt,能很方便的导出你pip安装了的所有包,但存在一个问题,很多你临时安装了,但不想要的包都没导出了,如果带到生产环境,或者打包成exe,无疑是很“沉重”的。所以,急需一个能让你pip变纯净的工具,个人是选择了pip-tools简单易用,现在让我们进入大致的使用吧

安装pip-tools

pip install pip-tools

创建 requirements.in 文件

创建一个 requirements.in 文件,其中列出你的项目依赖。这个文件可以包含直接依赖、可选依赖等,版本的范围更加自由

Sphinx>7.0
sphinx_rtd_theme
recommonmark
sphinx_markdown_tables
sphinx-rtd-size
sphinx-rtd-dark-mode
readthedocs-sphinx-search
sphinx-rtd-theme-github-versions
  • 这个时候requirements.in 文件就是你最纯净的库包管理,它不会混淆其他依赖进来

生成 requirements.txt 文件

pip-compile requirements.in
  • 注意!如果requirements.in中没有做版本限制,则会取最新版本进行生成,所以有可能会每次pip-compile requirements.in都会不同

安装依赖

pip install requirements.txt

同步本地环境

pip-sync

它会帮你检测相应版本和库包,删除多余的库包。直接完整同步,给你的pip进行大瘦身

pip install pip-tools
pip-compile requirements.in  # 创建或更新requirements.txt
pip-sync requirements.txt    # 安装或更新环境中的包