gpt4 book ai didi

python - 如何让 Django 使用 mysqlclient 而不是 mysqlDB

转载 作者:行者123 更新时间:2023-11-29 01:55:26 25 4
gpt4 key购买 nike

我在 PythonAnywhere、python 3.4、Django 最新版本、virtualenv 上使用 mac os x。我尝试在 PythonAnywhere 上的 virtualenv 上安装 mysqlclient 和 mysqlDB,mysqlDB 失败,因为它与 python3 不兼容,mysqlclient 成功安装,但 Django 似乎无法检测到 mysqlclient 并使用它代替 mysqldb。这是错误日志:

2015-05-22 12:13:36,953 :Traceback (most recent call last):
2015-05-22 12:13:36,953 : File "/usr/local/lib/python3.4/dist-packages/django/db/backends/mysql/base.py", line 14, in <module>
2015-05-22 12:13:36,954 : import MySQLdb as Database
2015-05-22 12:13:36,954 :ImportError: No module named 'MySQLdb'
2015-05-22 12:13:36,955 :
2015-05-22 12:13:36,955 :During handling of the above exception, another exception occurred:
2015-05-22 12:13:36,955 :
2015-05-22 12:13:36,955 :Traceback (most recent call last):
2015-05-22 12:13:36,955 : File "/bin/user_wsgi_wrapper.py", line 130, in __call__
2015-05-22 12:13:36,955 : self.error_log_file.logger.exception("Error running WSGI application")
2015-05-22 12:13:36,955 : File "/usr/lib/python3.4/logging/__init__.py", line 1296, in exception
2015-05-22 12:13:36,956 : self.error(msg, *args, **kwargs)
2015-05-22 12:13:36,956 : File "/usr/lib/python3.4/logging/__init__.py", line 1289, in error
2015-05-22 12:13:36,957 : self._log(ERROR, msg, args, **kwargs)
2015-05-22 12:13:36,957 : File "/usr/lib/python3.4/logging/__init__.py", line 1395, in _log
2015-05-22 12:13:36,958 : self.handle(record)
2015-05-22 12:13:36,958 : File "/usr/lib/python3.4/logging/__init__.py", line 1404, in handle
2015-05-22 12:13:36,959 : if (not self.disabled) and self.filter(record):
2015-05-22 12:13:36,959 : File "/usr/lib/python3.4/logging/__init__.py", line 692, in filter
2015-05-22 12:13:36,960 : for f in self.filters:
2015-05-22 12:13:36,960 : File "/bin/user_wsgi_wrapper.py", line 122, in __call__
2015-05-22 12:13:36,960 : app_iterator = self.app(environ, start_response)
2015-05-22 12:13:36,960 : File "/usr/local/lib/python3.4/dist-packages/django/core/handlers/wsgi.py", line 187, in __call__
2015-05-22 12:13:36,961 : self.load_middleware()
2015-05-22 12:13:36,961 : File "/usr/local/lib/python3.4/dist-packages/django/core/handlers/base.py", line 45, in load_middleware
2015-05-22 12:13:36,962 : mw_class = import_by_path(middleware_path)
2015-05-22 12:13:36,962 : File "/usr/local/lib/python3.4/dist-packages/django/utils/module_loading.py", line 21, in import_by_path
2015-05-22 12:13:36,963 : module = import_module(module_path)
2015-05-22 12:13:36,963 : File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
2015-05-22 12:13:36,964 : return _bootstrap._gcd_import(name[level:], package, level)
2015-05-22 12:13:36,964 : File "<frozen importlib._bootstrap>", line 2231, in _gcd_import
2015-05-22 12:13:36,966 : File "<frozen importlib._bootstrap>", line 2214, in _find_and_load
2015-05-22 12:13:36,966 : File "<frozen importlib._bootstrap>", line 2203, in _find_and_load_unlocked
2015-05-22 12:13:36,966 : File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
2015-05-22 12:13:36,966 : File "<frozen importlib._bootstrap>", line 1129, in _exec
2015-05-22 12:13:36,967 : File "<frozen importlib._bootstrap>", line 1448, in exec_module
2015-05-22 12:13:36,967 : File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
2015-05-22 12:13:36,967 : File "/usr/local/lib/python3.4/dist-packages/django/contrib/auth/middleware.py", line 3, in <module>
2015-05-22 12:13:36,972 : from django.contrib.auth.backends import RemoteUserBackend
2015-05-22 12:13:36,973 : File "/usr/local/lib/python3.4/dist-packages/django/contrib/auth/backends.py", line 3, in <module>
2015-05-22 12:13:36,974 : from django.contrib.auth.models import Permission
2015-05-22 12:13:36,974 : File "/usr/local/lib/python3.4/dist-packages/django/contrib/auth/models.py", line 48, in <module>
2015-05-22 12:13:36,975 : class Permission(models.Model):
2015-05-22 12:13:36,975 : File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py", line 96, in __new__
2015-05-22 12:13:36,976 : new_class.add_to_class('_meta', Options(meta, **kwargs))
2015-05-22 12:13:36,976 : File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py", line 264, in add_to_class
2015-05-22 12:13:36,977 : value.contribute_to_class(cls, name)
2015-05-22 12:13:36,977 : File "/usr/local/lib/python3.4/dist-packages/django/db/models/options.py", line 124, in contribute_to_class
2015-05-22 12:13:36,978 : self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
2015-05-22 12:13:36,978 : File "/usr/local/lib/python3.4/dist-packages/django/db/__init__.py", line 34, in __getattr__
2015-05-22 12:13:36,978 : return getattr(connections[DEFAULT_DB_ALIAS], item)
2015-05-22 12:13:36,978 : File "/usr/local/lib/python3.4/dist-packages/django/db/utils.py", line 198, in __getitem__
2015-05-22 12:13:36,979 : backend = load_backend(db['ENGINE'])
2015-05-22 12:13:36,979 : File "/usr/local/lib/python3.4/dist-packages/django/db/utils.py", line 113, in load_backend
2015-05-22 12:13:36,980 : return import_module('%s.base' % backend_name)
2015-05-22 12:13:36,980 : File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
2015-05-22 12:13:36,980 : return _bootstrap._gcd_import(name[level:], package, level)
2015-05-22 12:13:36,980 : File "/usr/local/lib/python3.4/dist-packages/django/db/backends/mysql/base.py", line 17, in <module>
2015-05-22 12:13:36,980 : raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
2015-05-22 12:13:36,980 :django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

我的设置.py:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'chart',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
}
}

我浏览了一些关于 stackoverflow 的帖子,但似乎没有人解决我的问题。有什么好的建议请告诉我,谢谢。

最佳答案

堆栈跟踪表明您没有从 virtualenv 运行您的网络应用程序。您需要正确配置您的 Web 应用程序以使用特定的 virtualenv。

此外,settings.py 中的连接属性将不起作用。正确的连接详细信息位于您帐户的“数据库”选项卡上。

关于python - 如何让 Django 使用 mysqlclient 而不是 mysqlDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30398286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com