作者HerryL (Hollander)
看板Python
標題[問題] 請問php call python自寫的lib問題
時間Sat Jan 30 16:38:30 2021
請問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://webptt.com/m.aspx?n=bbs/Python/M.1611995916.A.5B7.html
1F:→ 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
2F:→ 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
3F:推 chickengod: 不曉得是不是跟 sys.path 有關? 01/31 16:08
5F:→ HerryL: 我查一下stckoverflow再跟大家回報 ^___^ 02/01 18:36
6F:推 single4565: 只記得網路上有人說過這樣用PHP呼叫Python,也只能執 02/02 01:05
7F:→ single4565: 行簡單的程式碼,不太能做到什麼 02/02 01:05
8F:推 timTan: Sys.path 還有current work directory 都要正確 02/03 09:44