Уведомления

Jabber-конференция сообщества: pythonua@conference.jabber.ru

#1 Авг. 12, 2017 14:58:08

paradox81ru
Зарегистрирован: 2017-03-26
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Что это за модуль _mysql

Здравствуйте. У меня возникла вот какая проблема. Я учусь создавать сайты на Python3, и для обучения поставил себе под винды Pyhton3.6, Apache2, Mysql и под Django в виртуальной питоновсокой среде создаю сайт. Под виндами все нормально работает. Но далее я решил попробовать скинуть свой сайт на линуксовый WEB-сервер (Ubuntu 14). Там я тоже установил Pyhton3.6, Apache2, Mysql, и в виртуальной среде добавил Django и другие нужные мне для работы модули. Но под линуксом ничего работать не стало, а в логах апача постоянно фиксируется ошибка, что не найден модуль “_mysql”. Тогда я попробовал добавить под линукс Python3.5, и в виртуальной среде питона 3.5 снова добавил все нужные модули, но ошибка все та же. Все попытки в интернете найти как добавить этот модуль “_mysql” успехом не увенчались. Вот список установленных модулей:

 Django (1.11.4)
mysqlclient (1.3.10)
olefile (0.44)
Pillow (4.2.1)
pip (9.0.1)
pytz (2017.2)
setuptools (36.2.7)

А вот лог ошибки:
  mod_wsgi (pid=17244): Target WSGI script '/var/pyprojects/paradox-portal/pythonProject/ParadoxPortal/ParadoxPortal/wsgi.py' cannot be loaded as Python module.
 mod_wsgi (pid=17244): Exception occurred processing WSGI script '/var/pyprojects/paradox-portal/pythonProject/ParadoxPortal/ParadoxPortal/wsgi.py'.
 Traceback (most recent call last):
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 26, in <module>
   import MySQLdb as Database
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: No module named '_mysql'
 During handling of the above exception, another exception occurred:
Traceback (most recent call last):
 File "/var/pyprojects/paradox-portal/pythonProject/ParadoxPortal/ParadoxPortal/wsgi.py", line 30, in <module>
   application = get_wsgi_application()
   django.setup(set_prefix=False)
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models()
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/apps/config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/var/pyprojects/paradox-portal/pythonProject/ParadoxPortal/accounts/models.py", line 1, in <module>
    from django.contrib.auth.models import AbstractUser, BaseUserManager, PermissionsMixin
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/contrib/auth/models.py", line 4, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/contrib/auth/base_user.py", line 52, in <module>
    class AbstractBaseUser(models.Model):
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/db/models/base.py", line 124, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/db/models/base.py", line 331, in add_to_class
    value.contribute_to_class(cls, name)
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/db/models/options.py", line 214, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/db/__init__.py", line 33, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/db/utils.py", line 211, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/db/utils.py", line 115, in load_backend
    return import_module('%s.base' % backend_name)
  File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/var/pyprojects/paradox-portal/pythonProject/venv3.6/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 30, in <module>
    'Did you install mysqlclient or MySQL-python?' % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named '_mysql'.
Did you install mysqlclient or MySQL-python?
Кстати, на этом же линуксовом вебсервере ранее вполне нормально работал сайт на PHP, который так же использовал MySQL, так что сама MySQL вполне рабочая.
Кто нибудь может подсказать, как решить эту проблему? Сам я уже неделю ничего сделать не могу, и модули уже разные устанавливал и переустанавливал, и с разными версиями питона пробовал, ничего не могу сделать. Помогите пожалуйста кто-нибудь.

Отредактировано paradox81ru (Авг. 12, 2017 14:58:57)

Офлайн

#2 Авг. 14, 2017 12:56:20

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 603
Репутация: +  7  -
Профиль   Отправить e-mail  

Что это за модуль _mysql

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient
Но перед єтим поставь сам мускуль.

Офлайн

#3 Авг. 14, 2017 18:58:27

paradox81ru
Зарегистрирован: 2017-03-26
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Что это за модуль _mysql

Во первых у меня как раз в виндах проблем нет, проблемы на линуксе, кроме того, как я уже упоминал, mysql на линуксе не только установлен, но еще и корректно настроен, потому как php-шный сайт, который разумеется тоже требует myscql, на этом веб сервере нормально работает.

Офлайн

#4 Авг. 15, 2017 05:50:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 5796
Репутация: +  400  -
Профиль   Отправить e-mail  

Что это за модуль _mysql

paradox81ru
mysqlclient - это не просто набор питоньего кода, при установке этого пакета (как и многих других) пипу нужно скомпилировать некоторое количество бинарников, а для этого необходимы хидеры си для линковки. Если внимательно прочитать инструкцию по установке, то можно увидеть, что в линуксах нужно сначала удовлетворить некоторые зависимости

 sudo apt-get install python-dev libmysqlclient-dev
вы установили эти пакеты перед установкой собственно mysqlclient?



Офлайн

#5 Авг. 15, 2017 19:24:29

paradox81ru
Зарегистрирован: 2017-03-26
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Что это за модуль _mysql

FishHook
Я установил эти зависимости после установки mysqlclient, я действительно узнал об этих зависимостях только уже когда понял что у меня проблема с mysql. Но после установки этих приложений (или как их я не знаю назвать) я заново создал виртуальное окружение, и заново добавил все модули, в том числе и mysqlclient. Причем python-dev я установил именно для своей версии питона (python3.6-dev)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version