【问题标题】:How I can execute python virtual environment files with php shell execute?如何使用 php shell 执行 python 虚拟环境文件?
【发布时间】:2017-04-19 05:42:44
【问题描述】:

我已经尝试运行 Github:https://github.com/atbaker/wikipedia-question-generator

我使用以下指令创建了虚拟环境:https://github.com/atbaker/wikipedia-question-generator#installing-with-python-34

$ pyvenv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
$ python -m textblob.download_corpora

安装命令行工具,方便您使用:

$ pip install -e folder_name

现在环境已经完成。 我的代码使用以下命令在命令行上正常运行:

wikitrivia 'tony'

现在我尝试使用 php shell 脚本来使用它,如下所示:

<? php
$out = shell_exec('wikitrivia "tony" ');
echo $out;
?>

但是输出屏幕上什么都没有。我尝试运行命令php -v 并显示了版本。但是命令wikitrivia "tony" 不起作用。我正在使用 AWS Ubuntu 环境。

我的php 版本是7,python 版本是3.5

希望这会有所帮助。请告诉我我能做什么?

【问题讨论】:

    标签: php python python-3.x shell php-7


    【解决方案1】:

    我最近将其作为 cron 任务完成。 您需要使用来自 venv 的解释器从工作目录执行脚本。 类似的东西:

    <? php
    $out = shell_exec('cd FULL_YOUR_PYTON_WORKING_DIR && YOUR_VENV/bin/python FULL_PATH_TO_YOUR_SCRIPT.py "tony"');
    echo $out;
    ?>
    

    【讨论】:

    • 确实如此
    • 我试过了,还是不行。它适用于默认的 python 系统安装,但不适用于环境。
    • 但是它可以调用第一个默认安装的python版本,而不是从这个python版本调用系统上的任何其他版本的python。
    • 我想您应该阅读更多关于 Python 中的虚拟环境的信息。你先设置好,然后使用,指向需要解释器。它与默认的 python 安装没有任何共同之处。
    猜你喜欢
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    相关资源
    最近更新 更多