我在使用php執行python時發現無法載入一些套件
不過又有一部份套件是可以載入的
這是python import的程式碼
#無法載入的部分
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler
from keras.models import Sequential
from keras.layers import LSTM, Dense,Dropout
from plotly.graph_objs import Scatter, Layout
from plotly.offline import plot
#可以載入的部分
import argparse
這是php執行python部分的程式碼
exec("C:/Users/user/Anaconda3/python.exe py/a9.py 2>&1", $A, $ret);
print_r($A);
print_r($ret)
這是顯示的錯誤訊息
Array (
[0] => Traceback (most recent call last):
[1] => File "py/a9.py", line 6, in
[2] => import pandas as pd
[3] => File "C:\Users\user\Anaconda3\lib\site-packages\pandas_init_.py", line 17, in
[4] => "Unable to import required dependencies:\n" + "\n".join(missing_dependencies)
[5] => ImportError: Unable to import required dependencies:
[6] => numpy: DLL load failed: �䤣����w���ҲաC ) 1
不清楚為甚麼有些套件能夠載入 有些卻不行
想問問為甚麼會這樣?
目前查的結果是偏向路徑問題
還在查怎麼解決
想問問大大們有沒有碰過這類似的問題..
順便想問問我在使用php執行python時
為甚麼我在cmd能夠直接使用 python XX.py 來執行
但是在php中卻無法直接使用這樣的寫法執行python而是必須使用路徑的方式呢?
不清楚為甚麼有些套件能夠載入 有些卻不行
想問問為甚麼會這樣?
先確認你的 python code
是不是能夠獨立正常運行
我剛測試用 php call python 的爬蟲
也是沒問題
但是在php中卻無法直接使用這樣的寫法執行python而是必須使用路徑的方式呢?
可能是你打錯
我剛試直接
exec("py hello.py", $result, $value);
也是沒問題的
前提你的環境變數都有設定好
不過你說可以用 python 執行
那應該就是你打錯了
選我正解
php 呼叫 python 會有 兩個問題 ....
1 .路徑 -> 可以用 完整路徑 例如 C:\python\test.py 或 /home/test/test.py
2 .權限 ->
你是用 web 服務嗎 ?
apache 或 nginx 之類的 .. 是用 apache 權限或 nginx 之類的權限 這樣執行會有問題
正常是用 suid 的方式處理 ....
您可找找看 ....
linux 我會用