【发布时间】:2021-02-27 10:29:06
【问题描述】:
我有一个存储库,其中包含膨胀的 requirements.tx,我想清理它。使用pipreqs,我将 requirements.txt 设置为我的存储库所需的最小包集。为了测试这一点,我设置了一个 virtualenv 来安装软件包,然后运行我所有的单元测试以确保它们令人满意。
virtualenv temp_venv --no-site-packages
source temp_venv/bin/activate
pip install -r requirements.txt
运行良好,但我看到收集并安装了一大堆额外的包。为什么?这些是否被所需的软件包标识为需要并因此安装?如果是这样,我应该将它们包含在 requirements.txt 中吗?
【问题讨论】:
-
为了确保额外的包确实是依赖项,请尝试在您的 virtualenv 中运行命令
pip freeze -l > requirements.txt(注意-l标志,它使其仅引用当前 virtualenv 中的包. 如果它产生相同的输出,那就是依赖关系。如果不是,这意味着 pip 收集了你所有的包,而不仅仅是你当前工作的 virtualenv 上的包。
标签: python pip requirements.txt