[英]How to install subprocess module for python?
pip 無法在 pypi 網站上找到這個模塊,我也找不到。 你能告訴我秘密,如何安裝它嗎?
我需要該模塊通過 subprocess.call 生成新的 shell 進程。 我看過很多例子,人們使用import subprocess
,但沒有人展示它是如何安裝的。
我得到的錯誤(以防萬一我失去理智並且不明白發生了什么):
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Users\Alexander\Desktop\tests-runner>python run.py
Traceback (most recent call last):
File "run.py", line 165, in <module>
main()
File "run.py", line 27, in main
subprocess.call('py.test')
File "C:\Python27\lib\subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "C:\Python27\lib\subprocess.py", line 710, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
在 Python 2.7 中無需安裝此模塊。 它是一個內置的標准模塊。
文檔顯示它已添加到 Python 2.4 版的庫中。 它已經伴隨我們很長時間了。
您在問題更新中顯示的錯誤只不過是找不到文件錯誤更平淡無奇。 可能找不到您嘗試調用Popen
的可執行文件。
該回溯表明subprocess
進程已安裝並已導入。 問題只是對subprocess.call('py.test')
的調用失敗了。
為了將來參考,這是您在嘗試導入尚未安裝的模塊時遇到的回溯類型:
>>> import foo Traceback (most recent call last): File "", line 1, in ImportError: No module named foo
錯誤文本具有誤導性。 大多數子進程命令期望 shellcmd 作為字符串列表提交。
在這些情況下,我強烈建議使用 shlex 模塊:
import shlex
shell_cmd = "test.py"
subprocess_cmd = shlex.split(shell_cmd)
subprocess.call(subprocess_cmd)
或者在這個簡單的情況下:
subprocess.call(["test.py"])
嘗試這個:
pip install subprocess.run
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.