看板 Python 關於我們 聯絡資訊
請問php call python自寫的lib問題。 var/www/html => PHPs, PYTHONs 都在這,如 a.php , b_work.py , c_lib.py 環境:docker on ubuntu 其中檔案的內容像以下這樣: a.php: system('python3 b_work.py'); b_work.py: import pandas, numpy import c_lib c_lib.py: 一堆def ..... ==========問題: 我發現我無法import c_lib,可是可以import pandas / numpy?! 為什麼? 我看了權限都有開可讀,不知道是哪裡還需要改設定? ==========note on 1-31 10:44 後來我把一堆需要import的自己寫的 py 檔放到 /usr/lib/python3.X 的目錄下, 就可以動作了,可是,我覺得這不是正常的方法啦 @@~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.159.178.43 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1611995916.A.5B7.html
TitanEric: 直接call b_work.py可以嗎? 01/30 17:16
請問直接call是指在php裡call嗎?假如把 import c_lib 註解掉的話,可以直接call b_work.py ※ 編輯: HerryL (49.159.178.43 臺灣), 01/30/2021 22:05:30
TitanEric: 抱歉沒寫好 是直接呼叫python3 b_work.py會動嗎 01/31 09:29
如果在shell裡,直接以python3呼叫b_work.py是會動的 --- 只要b_work.py與c_lib是在同一個目錄下, 因此我原本猜測是路徑或權限的問題, 可,我在php裡,呼叫python's os.getcwd(),看到的路徑是沒問題的(比如說是 /var/www/html/wwwtest 之類的,就是我的php檔、py檔們放的地方啊 :() 所以,好像也不是路徑的問題 :( ※ 編輯: HerryL (49.159.178.43 臺灣), 01/31/2021 09:47:40 ※ 編輯: HerryL (49.159.178.43 臺灣), 01/31/2021 10:46:37
chickengod: 不曉得是不是跟 sys.path 有關? 01/31 16:08
HerryL: 我查一下stckoverflow再跟大家回報 ^___^ 02/01 18:36
single4565: 只記得網路上有人說過這樣用PHP呼叫Python,也只能執 02/02 01:05
single4565: 行簡單的程式碼,不太能做到什麼 02/02 01:05
timTan: Sys.path 還有current work directory 都要正確 02/03 09:44