Скрипт Python3 с Apache2 не полностью работает - PullRequest
0 голосов
/ 06 ноября 2019

Мой рабочий сценарий Python3 CLI не работает полностью при запуске из apache2 из-за того, что некоторые модули не распознаются? Когда он вызывается с помощью PHP, он, кажется, работает полностью, но некоторые модули вызывали его сбой ...

Например, мне пришлось закомментировать заговор.XXXX или он сказал, что модуль не найден, журнал apache:

File "/var/www/pythonhack_site/test.py", line 16, in <module>
    import plotly.figure_factory as ff
ImportError: No module named 'plotly.figure_factory'

Пример кода:

#!/usr/bin/python3
import requests, enchant, urllib.request, socket
import argparse, os, ssl, re, sys, time
from bs4 import BeautifulSoup
from urllib.parse import urlparse
# from plotly.subplots import make_subplots
import plotly.figure_factory as ff
# import plotly.graph_objects as go
# import plotly
# import numpy as np

дополнительно мне пришлось удалить свой код, который использовал enchant Dict ():

#d = enchant.Dict("en_US")

, потому что в журнале apache он жаловался:

File "/var/www/pythonhack_site/test.py", line 259, in get_general_word_counts
    d = enchant.Dict("en_US")
AttributeError: module 'enchant' has no attribute 'Dict'

1 Ответ

0 голосов
/ 07 ноября 2019

Я разобрался в своей проблеме. Модули pip3, которые я установил, не имели разрешений в Linux для использования, поэтому chown исправил это (например, sudo chown apache: apache -R / path / to / modules / dir)

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