ImportError: нет модуля с именем «django_select2»

Я пытаюсь развернуть свое приложение django на pythonanywhere. Я установил все пакеты, которые требуются для приложения. Я также использую многоразовое приложение django_select2 в своем приложении.

Во-первых, я активирую виртуальную среду и устанавливаю django_select2 с помощью этой команды:

$ pip install django_select2

Когда я выполняю команду ниже

$ pip freeze 
cryptography==2.2.2                                                                                                                                                                                               
Django==2.0.7                                                                                                                                                                                                     
django-appconf==1.0.2                                                                                                                                                                                             
django-select2==6.1.0                                                                                                                                                                                             
Flask==1.0.2                                                                                                                                                                                                      
Flask-JWT==0.3.2                                                                                                                                                                                                  
Flask-SQLAlchemy==2.3.2                                                                                                                                                                                           
furl==1.2                                                                                                                                                                                                         
idna==2.7   

Как видите, django_select2 тоже есть в списке установленных. Я также проверяю site-packages в своей виртуальной среде. Также есть папка django_select2.

Однако, когда я запускаю свое приложение, оно генерирует ImportError: No module named 'django_select2' внутри моего error.log.

Вот часть моего error.log

2018-07-14 14:18:53,934: Error running WSGI application
2018-07-14 14:18:53,934: ImportError: No module named 'django_select2'
2018-07-14 14:18:53,934:   File "/var/www/harunergul_pythonanywhere_com_wsgi.py", line 22, in <module>
2018-07-14 14:18:53,935:     application = get_wsgi_application()
2018-07-14 14:18:53,935: 
2018-07-14 14:18:53,935:   File "/usr/local/lib/python3.5/dist-packages/django/core/wsgi.py", line 13, in get_wsgi_application
2018-07-14 14:18:53,935:     django.setup(set_prefix=False)
2018-07-14 14:18:53,935: 
2018-07-14 14:18:53,935:   File "/usr/local/lib/python3.5/dist-packages/django/__init__.py", line 27, in setup
2018-07-14 14:18:53,935:     apps.populate(settings.INSTALLED_APPS)
2018-07-14 14:18:53,935: 
2018-07-14 14:18:53,935:   File "/usr/local/lib/python3.5/dist-packages/django/apps/registry.py", line 85, in populate
2018-07-14 14:18:53,936:     app_config = AppConfig.create(entry)
2018-07-14 14:18:53,936: 
2018-07-14 14:18:53,936:   File "/usr/local/lib/python3.5/dist-packages/django/apps/config.py", line 90, in create
2018-07-14 14:18:53,936:     module = import_module(entry)

Какие-либо предложения? Что мне не хватает?


person Harun ERGUL    schedule 14.07.2018    source источник
comment
Согласно документам: добавьте django_select2 в ваши INSTALLED_APPS в настройках вашего проекта. Добавьте django_select в свой urlconf, если вы используете какие-либо автоматические поля. url(r'^select2/', include('django_select2.urls')), Также вы управляете своим проектом в виртуальной среде? сбивает с толку видеть Django и Flask в одном проекте.   -  person Chuck LaPress    schedule 14.07.2018
comment
На самом деле у меня нет никакого фляжного проекта. В virtualenv есть только файлы фляг. Я думаю, что разобрался с проблемой. Я дам подробности в качестве ответа. Спасибо за внимание @ChuckLaPress   -  person Harun ERGUL    schedule 14.07.2018


Ответы (2)


Проблема в том, что в этом случае приложение не использует виртуальную среду. Если мы посмотрим на строку ниже, мы увидим /usr/local/... . Таким образом, приложение использует среду по умолчанию pythonanywhere.com.

File "/usr/local/lib/python3.5/dist-packages/django/core/wsgi.py", line 13,

что означает, что все, что мы устанавливаем в нашем virtualenv, не влияет на сервер по умолчанию. В pythonanywhere.com есть меню virtualenv, убедитесь, что вы ввели правильную информацию о пути в это меню.

person Harun ERGUL    schedule 14.07.2018

Пип по умолчанию на PythonAnywhere предназначен для Python 2.7, поэтому вы устанавливали свои модули в неправильную версию Python (ваше веб-приложение использует 3.5). Используйте pip3.5 для установки ваших модулей.

person Glenn    schedule 14.07.2018