как получить доступ к модулям из второй версии python для shell_exe c () - PullRequest
0 голосов
/ 21 июня 2020

Я использую shell_exe c () в php для запуска файла python. Эта ошибка возникает, когда я запускаю его

Traceback (последний вызов последним): файл «test.py», строка 6, в import mysql .connector как sql ModuleNotFoundError: Нет модуля с именем 'mysql 'строка (152) «Отслеживание (последний вызов последним): файл« test.py », строка 6, при импорте mysql .connector как sql ModuleNotFoundError: нет модуля с именем' mysql '"

Shell_exe c () не позволяет мне импортировать модули. Вот мой код:

       <?php
            
          
          $command = escapeshellcmd('C:/Python38/python.exe test.py'); 
          $output = shell_exec("$command 2>&1");
          print($output);
          var_dump($output);
          
        ?>

Вот верхняя часть моего файла py:

       import sys;
       print(sys.argv, sys.path)

       import mysql.connector as sql
       import pandas as pd
       import numpy as np
       import matplotlib.pyplot as plt
       import seaborn as sns

Я использую sys для отладки. В терминале запускается мой файл python, и это то, что выводит sys,

['test.py'] ['C:\\xampp\\htdocs\\Ensemble\\login', 'C:\\Users\\dunka\\anaconda\
\python37.zip', 'C:\\Users\\dunka\\anaconda\\DLLs', 'C:\\Users\\dunka\\anaconda\\lib', 'C:\\Users\\dunka\\anaconda', 'C:\\Users\\dunka\\AppData\\Roaming\\Python\\Python37\\site-packages', 'C:\\Users\\dunka\\anaconda\\lib\\site-packages', 'C:\\Users\\dunka\\anaconda\\lib\\site-packages\\win32', 'C:\\Users\\dunka\\anaconda\\lib\\site-packages\\win32\\lib', 'C:\\Users\\dunka\\anaconda\\lib\\site-packages\\Pythonwin']
(**insert correct output of python file**)

Это то, что выводит браузер:

'C:/xampp/htdocs/Ensemble/login/test.py'] ['C:\\xampp\\htdocs\\Ensemble\\login', 'C:\\Python38\\python38.zip', 'C:\\Python38\\DLLs', 'C:\\Python38\\lib', 'C:\\Python38', 'C:\\Users\\dunka\\AppData\\Roaming\\Python\\Python38\\site-packages', 'C:\\Users\\dunka\\AppData\\Roaming\\Python\\Python38\\site-packages\\win32', 'C:\\Users\\dunka\\AppData\\Roaming\\Python\\Python38\\site-packages\\win32\\lib', 'C:\\Users\\dunka\\AppData\\Roaming\\Python\\Python38\\site-packages\\Pythonwin', 'C:\\Python38\\lib\\site-packages'] Traceback (most recent call last): File "C:/xampp/htdocs/Ensemble/login/test.py", line 9, in import mysql.connector as sql ModuleNotFoundError: No module named 'mysql' string(704) "['C:/xampp/htdocs/Ensemble/login/test.py'] ['C:\\xampp\\htdocs\\Ensemble\\login', 'C:\\Python38\\python38.zip', 'C:\\Python38\\DLLs', 'C:\\Python38\\lib', 'C:\\Python38', 'C:\\Users\\dunka\\AppData\\Roaming\\Python\\Python38\\site-packages', 'C:\\Users\\dunka\\AppData\\Roaming\\Python\\Python38\\site-packages\\win32', 'C:\\Users\\dunka\\AppData\\Roaming\\Python\\Python38\\site-packages\\win32\\lib', 'C:\\Users\\dunka\\AppData\\Roaming\\Python\\Python38\\site-packages\\Pythonwin', 'C:\\Python38\\lib\\site-packages'] 

Очевидно, браузер использует мой установленный python, в то время как мой терминал использует анаконду для python. Как я могу настроить мою команду $ или shell_exe c для использования anaconda python, которая предоставит мне доступ к моим установленным модулям? Или как я могу отдельно установить модули на не анаконду python?

Спасибо

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