I'm trying to generate a requirements.txt file programatically. This way I can diff it against a second .txt file. So far I've tried the following, but they only output the requirements to console (No .txt file is generated).
So far I've tried
import pip
pip.main(["freeze",">","requirements.txt"])
and
from subprocess import call
call(["pip","freeze", ">","requirements.txt"])
If I attempt to run the same command manually in terminal though, the file is generated without issue. Any suggestions?
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")
Then you get expected content in your requirements.txt
file.
subprocess.Popen(['pip', 'freeze'], stdout=open('/tmp/pip.log', 'w'))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With