# python的库包管理工具pip-tools ## 前言 对于python的包安装问题,很多时候在我们项目一边开发一边拓展的时候,很多依赖的包,会有增有减,使用python官方的依赖导出管理,pip freeze > requirements.txt,能很方便的导出你pip安装了的所有包,但存在一个问题,很多你临时安装了,但不想要的包都没导出了,如果带到生产环境,或者打包成exe,无疑是很“沉重”的。所以,急需一个能让你pip变纯净的工具,个人是选择了pip-tools简单易用,现在让我们进入大致的使用吧 ## 安装pip-tools ```bash pip install pip-tools ``` ## 创建 requirements.in 文件 创建一个 requirements.in 文件,其中列出你的项目依赖。这个文件可以包含直接依赖、可选依赖等,版本的范围更加自由 ```bash 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 文件 ```bash pip-compile requirements.in ``` * 注意!如果requirements.in中没有做版本限制,则会取最新版本进行生成,所以有可能会每次pip-compile requirements.in都会不同 ## 安装依赖 ```bash pip install requirements.txt ``` ## 同步本地环境 ```bash pip-sync ``` 它会帮你检测相应版本和库包,删除多余的库包。直接完整同步,给你的pip进行大瘦身 ```bash pip install pip-tools pip-compile requirements.in # 创建或更新requirements.txt pip-sync requirements.txt # 安装或更新环境中的包 ```