[英]Python script can't find module when executed through PHP, but can find it when run via CLI
當我嘗試通過PHP前端運行python腳本時遇到問題,我嘗試了以下兩種方法:
$command = "(python3 /my/script.py --params) 2>&1";
$output = shell_exec($command);
和
ob_start();
passthru($command);
$output = ob_get_clean();
兩者都返回:
Traceback (most recent call last): File "/my/script.py", line 14, in from woocommerce import API ModuleNotFoundError: No module named 'woocommerce'
當通過CLI運行時,該腳本可以正常運行,但是當通過PHP運行時,則拋出上述錯誤。 這條線給我問題。 不知為什么它可以在一個實例中找到該模塊而在另一個實例中卻找不到。
from woocommerce import API
from wordpress_json import WordpressJsonWrapper
看來您的woocommerce
模塊未正確安裝在系統中。 在CLI中運行腳本時可以找到它,但是當控制您的PHP實例的系統用戶啟動腳本時, woocommerce
模塊不存在。 這表示此模塊僅為您的普通CLI用戶安裝,而不是在系統中全局安裝。
直接的解決方案是在全局安裝woocommerce
模塊,以便其他用戶(包括運行PHP的系統用戶)可以找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.