PHP 无法执行 Flask - 没有名为 flask 的模块
Flask cannot be executed by PHP - No module named flask
嘿,我有一个 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
#!/bin/bash
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
和运行它在PHP和bash
shell_exec("/bin/bash /opt/lampp/htdocs/memeon_data/Python-3.8.3/run.sh 2>&1");
或者你可以跳过这个脚本,你可以尝试使用在 venv/bin
中创建的 python
的完整路径 - 而这个 python
应该使用安装在 [=13] 中的模块=]
shell_exec("/opt/lampp/htdocs/memeon_data/Python-3.8.3/venv/bin/python /opt/lampp/htdocs/memeon_data/Python-3.8.3/main.py 2>&1");
顺便说一句: 应该是没有空格的 2>&1
- 单个 &
用于 运行 在后台处理并带有空格可能会在后台将其视为 运行ning,或者它可能会给出错误的语法错误。
嘿,我有一个 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
#!/bin/bash
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
和运行它在PHP和bash
shell_exec("/bin/bash /opt/lampp/htdocs/memeon_data/Python-3.8.3/run.sh 2>&1");
或者你可以跳过这个脚本,你可以尝试使用在 venv/bin
中创建的 python
的完整路径 - 而这个 python
应该使用安装在 [=13] 中的模块=]
shell_exec("/opt/lampp/htdocs/memeon_data/Python-3.8.3/venv/bin/python /opt/lampp/htdocs/memeon_data/Python-3.8.3/main.py 2>&1");
顺便说一句: 应该是没有空格的 2>&1
- 单个 &
用于 运行 在后台处理并带有空格可能会在后台将其视为 运行ning,或者它可能会给出错误的语法错误。