python - 我想从 php 运行一个 python 文件。python文件包含很多包(如torch、models等)
问题描述
我想从 PHP 运行一个 python 文件。python文件包含很多包(如torch、models等)。我可以使用命令行轻松运行它,但是在使用 shell_exec 从 PHP 调用它时它不会运行。
php 文件看起来有点像这样:
$output = exec ('cd /home/prabhakar/Hackathon/Text_Speech/ ; conda activate neural_tts ; python quick_start.py -u --input_text "Hi?" ');
echo $output."<br>";<br>
python文件是:
import torch
from models.fatchord_version import WaveRNN
from utils import hparams as hp
from utils.text.symbols import symbols
from models.tacotron import Tacotron
import argparse
from utils.text import text_to_sequence
from utils.display import save_attention, simple_table
import zipfile, os
os.makedirs('quick_start/tts_weights/', exist_ok=True)
os.makedirs('quick_start/voc_weights/', exist_ok=True)
zip_ref =
zipfile.ZipFile('pretrained/ljspeech.wavernn.mol.800k.zip', 'r')
zip_ref.extractall('quick_start/voc_weights/')
zip_ref.close()
zip_ref =
zipfile.ZipFile('pretrained/ljspeech.tacotron.r2.180k.zip', 'r')
zip_ref.extractall('quick_start/tts_weights/')
zip_ref.close()
if __name__ == "__main__":
print("Hello World!!")
exit()
解决方案
您可能正在使用虚拟环境。尝试先通过 PHP 激活虚拟环境,然后运行 python 代码。
推荐阅读
- javascript - 如何在移动设备上添加选择的占位符文本?
- azure - 是否可以将 domain.de 添加到 Azure App Service Domains 中的 domain.com
- aws-lambda - Spring Cloud Function Was S3Event 错误转换通用消息
- python-3.x - Discord.py 如何使某些内容仅在其他内容之后可用
- mysql - 如果字符串包含相似的值,则mysql加入
- python - 在python中获取[括号和特殊字符之间的字符串
- javascript - 找出来自API的时间戳的时区
- firebase - 从本地 Firebase 模拟器调用 Google Cloud API
- python - 仅当我调用函数时,Python程序才在容器中运行
- javascript - 使用一般更新模式时使用错误键的 D3.js 折线图