[問題] 請問php call python自寫的lib問題

看板Python作者 (Hollander)時間4年前 (2021/01/30 16:38), 4年前編輯推噓3(305)
留言8則, 5人參與, 4年前最新討論串1/1
請問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

01/30 17:16, 4年前 , 1F
直接call b_work.py可以嗎?
01/30 17:16, 1F
請問直接call是指在php裡call嗎?假如把 import c_lib 註解掉的話,可以直接call b_work.py ※ 編輯: HerryL (49.159.178.43 臺灣), 01/30/2021 22:05:30

01/31 09:29, 4年前 , 2F
抱歉沒寫好 是直接呼叫python3 b_work.py會動嗎
01/31 09:29, 2F
如果在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

01/31 16:08, 4年前 , 3F
不曉得是不是跟 sys.path 有關?
01/31 16:08, 3F

01/31 16:08, 4年前 , 4F

02/01 18:36, 4年前 , 5F
我查一下stckoverflow再跟大家回報 ^___^
02/01 18:36, 5F

02/02 01:05, 4年前 , 6F
只記得網路上有人說過這樣用PHP呼叫Python,也只能執
02/02 01:05, 6F

02/02 01:05, 4年前 , 7F
行簡單的程式碼,不太能做到什麼
02/02 01:05, 7F

02/03 09:44, 4年前 , 8F
Sys.path 還有current work directory 都要正確
02/03 09:44, 8F
文章代碼(AID): #1W5HiCMt (Python)
文章代碼(AID): #1W5HiCMt (Python)