繁体   English   中英

在Python代码中使用`pip Frozen> Requirements'

[英]Using `pip freeze > requirements` in Python code

我发现如何在代码中使用pip命令:

import subprocess
subprocess.call(["pip", "freeze"])

它在命令提示符下显示所有软件包。

但这不是这样的:

import subprocess
subprocess.call(["pip", "freeze", ">", "requirements.txt"])

它不会将其写入文件,而是再次在控制台中打印。

如何以正确的方式运行此命令?

用这个:

>>> with open('requirements.txt', 'w') as file_:
...   subprocess.Popen(['pip', 'freeze'], stdout=file_).communicate()
...

或者,如果您愿意, call

>>> with open('requirements.txt', 'w') as file_:
    ...   subprocess.call(['pip', 'freeze'], stdout=file_)

重定向是在shell /终端中实现的,这意味着必须在shell中使用shell=True关键字参数执行命令。 否则,子进程将执行列表中的第一项,并将其余部分用作其参数。 有关更多信息,请参见子过程的文档

subprocess.call("pip freeze > requirements.txt", shell=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM