记录win10环境下 php页面调用python脚本

记录win10环境下 php页面调用python脚本

1.起因

期初是自己搭建的一个python机器学习模型,但是不太会qt界面设计,所以想着使用php去搭建一个网站,美化一下界面,避免全命令行的操作

所以在python目录下写了一个php页面去调用shell执行python命令
在这里插入图片描述
页面显示 no module cv2
可是主机上有opencv-python,按理说可以正常导入

也就是说php执行的shell命令可能无法访问cv2的地址

2.原因:

最后排查发现,其他第三方库安装在d盘anaconda目录下面了。由于以前学习时对包的管理没有那么严谨,cv2安装在c盘中了(是以前vs2019的python安装路径)所以程序执行的时候会找不到cv2的目录。

3.解决方案

3.1 解决导入问题

所以,需要在导入cv2的时候添加cv2的保存目录
在这里插入图片描述
利用sys.path.append将cv2目录添加,再导入cv2

3.2 numpy报错

解决完上述问题之后,php页面又报错

cannot import name '_validate_lengths' from 'numpy.lib.arraypad'

google之后发现需要改numpy内置代码,或者对numpy进行降级,但是numpy版本与很多库有依存关系,可能降低版本之后部分库就无法使用了,而且修改内置代码可能会存在一定风险。

最终发现是skimage库的问题,所以需要对该库进行更新

pip install --upgrade  -i  https://pypi.mirrors.ustc.edu.cn/simple/  scikit-image

更新完成之后发现代码可以正常使用了!

3.3 返回乱码

在python代码中加入

import codecs
import sys
sys.stdout = codecs.getwriter('utf-8')(sys.stdout.detach())

php调用python成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值