作者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/cn.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