반응형
Django 오류: _mysql이라는 이름의 모듈이 없습니다.
디폴트 django의 squittedb에서 prod mariadb 데이터베이스로 앱을 이행하고 있습니다.python 3.3 + centos 7 + django 1.8 + apache 환경이 있습니다.sqlite에서는 모든 것이 정상적으로 동작하고 있습니다만, 이행 후에 Apache를 재기동하면 다음과 같은 에러가 발생합니다.
Traceback (most recent call last):
File "/usr/local/mainproject/mysite/mysite/wsgi.py", line 23, in <module>
application = get_wsgi_application()
File "/usr/local/lib/python3.3/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
django.setup()
File "/usr/local/lib/python3.3/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python3.3/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/usr/local/lib/python3.3/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/lib/python3.3/site-packages/django/contrib/auth/models.py", line 41, in <module>
class Permission(models.Model):
File "/usr/local/lib/python3.3/site-packages/django/db/models/base.py", line 139, in __new__
new_class.add_to_class('_meta', Options(meta, **kwargs))
File "/usr/local/lib/python3.3/site-packages/django/db/models/base.py", line 324, in add_to_class
value.contribute_to_class(cls, name)
File "/usr/local/lib/python3.3/site-packages/django/db/models/options.py", line 250, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "/usr/local/lib/python3.3/site-packages/django/db/__init__.py", line 36, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/usr/local/lib/python3.3/site-packages/django/db/utils.py", line 240, in __getitem__
backend = load_backend(db['ENGINE'])
File "/usr/local/lib/python3.3/site-packages/django/db/utils.py", line 111, in load_backend
return import_module('%s.base' % backend_name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/lib/python3.3/site-packages/django/db/backends/mysql/base.py", line 27, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named _mysql
https://docs.djangoproject.com/en/1.8/ref/databases/ #sysql-db-api-sysql 클라이언트를 설치했습니다.내가 해낸 것 보다.py syncdb가 정상적으로 종료되었습니다.데이터베이스 구조를 확인했습니다.모든 데이터가 이행되어 있습니다.하지만 내 앱 시작 시 아직 그런 오류가 발생해요.
솔루션은 다음과 같습니다.비공식 libs https://github.com/nakagami/django-cymysql/ 를 사용하는 경우 django 를 사용하여 설치 및 구성이 간단합니다.
$ pip install cymysql
$ pip install django-cymysql
이 엔진을 장고의 설정에 추가하는 것 말고.py:
DATABASES = {
'default': {
'ENGINE': 'mysql_cymysql',
'NAME': 'some_what_database',
'HOST': ...,
'USER': ...,
'PASSWORD': ...,
}
}
이것을 사용해 보세요.이것으로 문제가 해결되었습니다.
pip install MySQL-python
Python3에서, 나는 다음과 같이 추가해야만 했다.mysqlclient
요건에 준거하여MySQL-python
는 Python3를 지원하지 않습니다.
언급URL : https://stackoverflow.com/questions/34283570/django-error-no-module-named-mysql
반응형
'programing' 카테고리의 다른 글
Mariadb 구문 오류 1064(42000) (0) | 2022.10.25 |
---|---|
MySQL 데이터베이스에서 권한 제거 (0) | 2022.10.25 |
배열에서 요소를 랜덤으로 선택하는 방법 (0) | 2022.10.15 |
mysqladmin 플래시 호스트를 사용하여 차단을 해제하는 방법 (0) | 2022.10.15 |
mariadb를 다시 시작하지 못했습니다.서비스:마리애답 유닛.서비스를 찾을 수 없습니다. (0) | 2022.10.15 |