我正在尝试以编程方式生成requirements.txt文件。这样我可以将它与第二个.txt文件区分开来。到目前为止,我已经尝试了以下内容,但它们只向控制台输出了要求(生成了No .txt文件)。
到目前为止,我已经尝试了
import pip
pip.main(["freeze",">","requirements.txt"])
和
from subprocess import call
call(["pip","freeze", ">","requirements.txt"])
如果我尝试在终端中手动运行相同的命令,则生成的文件没有问题。有什么建议吗?
答案 0 :(得分:7)
myfreeze.py
import pip
with open("requirements.txt", "w") as f:
for dist in pip.get_installed_distributions():
req = dist.as_requirement()
f.write(str(req) + "\n")
然后,您会在requirements.txt
文件中获得预期的内容。
答案 1 :(得分:3)
subprocess.Popen(['pip', 'freeze'], stdout=open('/tmp/pip.log', 'w'))