python 子流程有困难吗? (无法 运行 wp-cli 命令)

Difficulties with python subprocess? (Unable to run wp-cli commands)

我正在编写一个简单的 Python 脚本来帮助加快引导我的 Wordpress 安装并利用 wp-cli

我在尝试通过子进程调用 wp core download 时卡住了:

from subprocess import call
call(["wp", "core download"])

总是returns

Error: This does not seem to be a WordPress install. Pass --path=path/to/wordpress or run wp core download.

只是 运行 以上来自 python 控制台或我的脚本的内容都不起作用。

运行 直接在 shell 中的命令当然有效。

我也试过用 os.chdir 设置 PWD 并用 --path=... 参数传递显式目录也无济于事。

函数 subprocess.call 将参数列表作为参数列表,因此在您的情况下,正确的调用应该是:

call(["wp", "core", "download"])

也许对你来说最好使用 subprocess.Popen 作为参数 cwd,尽管它的用法并不像 subprocess.call.

那么简单

如果 none 有帮助,也许可以尝试 运行 只是 call(["pwd"]) 看看使用 os.chdir 设置 CWD 是否如您预期的那样工作。