PHP возвращает NULL запущенный скрипт Python с Tensorflow - PullRequest
0 голосов
/ 20 сентября 2019

Прежде всего, извините, если это кажется дублирующим вопросом.Но, честно говоря, у меня ничего не получилось.Искать здесь часами.

Хорошо, поэтому у меня есть файл python с именем label_image.py, код следующий:

import numpy as np
import tensorflow as tf
print("TEST")

Когда я пытался вызвать скрипт через файл PHP:

$outpt = shell_exec('python label_image.py');

var_dump($outpt);

возвращает NULL.

Но если я удаляю импорт тензорного потока в файле python, он выглядит следующим образом:

import numpy as np
print("TEST")

и запускает файл PHP, он выводит следующее:

string(5) "TEST " 

С помощью этого теста можно сделать вывод, что строка импорта Tensorflow вызывает возврат NULL.

Я попытался поместить это поверх моего PHP-файла, как я прочитал в другом потоке stackoverflow:

PUTENV("/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/");

, но он все равно не работает.Кстати, я пользуюсь Mac OS.

Буду признателен за любую помощь.

Спасибо.

1 Ответ

1 голос
/ 20 сентября 2019

Если возникла проблема с поиском библиотеки тензорного потока, я думаю, вы можете попробовать установить PYTHONPATH следующим образом:

<?php

// PYTHONPATH setup
$pythonpath = getenv('PYTHONPATH'); // see if there is current setting
$additional = '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/'; // the location where the Tensorflow library is installed.
putenv(($pythonpath === false) ? "PYTHONPATH=$additional" : "PYTHONPATH=$pythonpath:$additional");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...