我想通过make在虚拟环境中通过pip优化python requirements.txt的创建和安装。
我们的想法是,pip安装代码只应在上次执行后更新requirements.txt文件时运行。
我知道make在没有更新源文件时不重新编译任务非常聪明,在这种情况下源文件将是requirements.txt
文件。
如何使用make
获取此内容?
答案 0 :(得分:4)
这样的东西?
.env: requirements.txt
$(RM) -rf $@
virtualenv $@ \
&& . ./$@/bin/activate \
&& pip install -r $<
正如Etan Reisner所说(谢谢!).env
目录的时间戳可能因其他原因而改变,因此您可能想要使用标志文件:
.env/made: requirements.txt
$(RM) -rf $(@D)
virtualenv $(@D) \
&& . ./$(@D)/bin/activate \
&& pip install -r $<
touch $@