嘿,我有一个PHP脚本,应该用exec
命令启动一个Python flask文件。我的问题是文件在执行后总是有错误:
Traceback (most recent call last): File "/opt/lampp/htdocs/memeon_data/Python-3.8.3/main.py", line 2, in from flask import Flask, request, jsonify, render_template, Response ImportError: No module named flask
如果我在终端中运行脚本,它将正常工作。我没有在PHP脚本中激活Virtualenv,因为它会导致另一个错误,我了解到新版本中不再需要它。也许有人知道答案
PHP:
echo shell_exec ("python /opt/lampp/htdocs/memeon_data/Python-3.8.3/main.py 2> & 1");
终端:
source /opt/lampp/htdocs/memeon_data/Python-3.8.3/venv/bin/activate
python /opt/lampp/htdocs/memeon_data/Python-3.8.3/main.py
您必须激活
venv
才能将python
与Flask
一起使用您可以创建bash脚本,即
run.sh
并在PHP中使用
bash
运行它或者您可以跳过此脚本,并尝试使用在
venv/bin
内创建的python
的完整路径,并且此脚本应使用安装在venv
中的模块顺便说一句:它应该是没有空格的
2>&1
单&
用于在后台运行进程,如果有空格,它可能会将进程视为在后台运行,或者它会给出错误的语法相关问题 更多 >
编程相关推荐