Джанго: модуль не найден - PullRequest
0 голосов
/ 10 июня 2019

Я использую Ubuntu 18.04 и использую Django с Apache. Там я хотел бы включить сценарий Selenium. Проблема также возникает с другими внешними библиотеками (например, ics), которые установлены через pip, но не всеми (например, scrapy).

Команда bash работает правильно.

sudo scrapy runspider -s LOG_ENABLED=False -a category=electronics -a domain=system /home/chef/Desktop/synology/selenium/ginger.py > /home/chef/Desktop/synology/selenium/output.txt 2>> /home/chef/Desktop/synology/selenium/output.txt

Интеграция через Django (через другой каталог) обеспечивает:

ModuleNotFoundError at /
No module named 'selenium'
Request Method:     GET
Request URL:    http://192.168.111.174/
Django Version:     2.1.2
Exception Type:     ModuleNotFoundError
Exception Value:    

No module named 'selenium'

Exception Location:     /home/chef/Desktop/Immo/Immo/Immo/ginger.py in <module>, line 1
Python Executable:  /usr/bin/python3
Python Version:     3.6.7
Python Path:    

['/usr/bin/python3',
 '/usr/lib/python36.zip',
 '/usr/lib/python3.6',
 '/usr/lib/python3.6/lib-dynload',
 '/usr/local/lib/python3.6/dist-packages',
 '/usr/lib/python3/dist-packages',
 '/home/chef/Desktop/Immo/Immo']

Сценарий начинается с:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import scrapy
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from scrapy.http import Request
import time

Командная строка работает:

chef@ubuntu:~/Desktop/Immo/Immo/Immo$ which python3
/usr/bin/python3
chef@ubuntu:~/Desktop/Immo/Immo/Immo$ cat /etc/apache2/apache2.conf |egrep WSGI
WSGIPythonPath /usr/bin/python3
chef@ubuntu:~/Desktop/Immo/Immo/Immo$ python3 -m pip search selenium  | egrep -B1 'INSTALLED|LATEST'
selenium (3.141.0)                       - Python bindings for Selenium
  INSTALLED: 3.141.0 (latest)
chef@ubuntu:~/Desktop/Immo/Immo/Immo$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from ics import Calendar, Event
>>> from selenium import webdriver
>>> 

Я пытался в консоли:

export PYTHONPATH=/usr/local/lib/python3.6

я пробовал в wsgi.py:

path='/home/chef/Desktop/Immo/Immo'
if path not in sys.path:
        sys.path.append(path)
        sys.path.append('/usr/local/lib/python3.6')

Что я должен изменить?

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