Mik*_*Sam 0 python pip python-3.x
我在代码中找到了如何使用pip命令:
import subprocess
subprocess.call(["pip", "freeze"])
Run Code Online (Sandbox Code Playgroud)
它在命令提示符下显示所有包.
但它不能这样工作:
import subprocess
subprocess.call(["pip", "freeze", ">", "requirements.txt"])
Run Code Online (Sandbox Code Playgroud)
它不会将其写入文件,它会再次在控制台中打印.
如何以正确的方式运行此命令?
用这个:
>>> with open('requirements.txt', 'w') as file_:
... subprocess.Popen(['pip', 'freeze'], stdout=file_).communicate()
...
Run Code Online (Sandbox Code Playgroud)
或者,call如果你愿意的话
>>> with open('requirements.txt', 'w') as file_:
... subprocess.call(['pip', 'freeze'], stdout=file_)
Run Code Online (Sandbox Code Playgroud)
重定向是在 shell/终端中实现的,这意味着命令必须使用shell=True关键字参数在 shell 中执行。否则,子进程执行列表中的第一项,并使用其余项作为其参数。有关更多信息,请参阅子流程的文档。
subprocess.call("pip freeze > requirements.txt", shell=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
401 次 |
| 最近记录: |