Lots of errors with pymysql and Django when trying to run server
我刚刚创建了一个Django项目并尝试使用虚拟环境。
我已成功安装:
1 2 3 4 | django 1.9.11. virtual environment python 3.4.4. pymysql |
我以为我做的一切正常,但是我无法运行django开发服务器,它在文件中给了我很多错误:
1 2 3 4 | base.py __init__.py connections.py err.py |
在我尝试运行服务器后,它给了我这个权利:
1 2 3 4 5 | python manage.py runserver Performing system checks... Unhandled exception in thread started by <function check_errors. <locals>.wrapper at Traceback (most recent call last): |
我如何解决这个问题,以便我可以使用mysql运行开发服务器?
谢谢。
追溯:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection self.connect() File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/base/base.py", line 171, in connect self.connection = self.get_new_connection(conn_params) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/mysql/base.py", line 268, in get_new_connection conn = Database.connect(**conn_params) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/__init__.py", line 88, in Connect return Connection(*args, **kwargs) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/connections.py", line 689, in __init__ self.connect() File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/connections.py", line 907, in connect self._request_authentication() File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/connections.py", line 1115, in _request_authentication auth_packet = self._read_packet() File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/connections.py", line 982, in _read_packet packet.check_error() File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/connections.py", line 394, in check_error err.raise_mysql_exception(self._data) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/err.py", line 120, in raise_mysql_exception _check_mysql_exception(errinfo) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/err.py", line 115, in _check_mysql_exception raise InternalError(errno, errorvalue)pymysql.err.InternalError: (1049,"Unknown database 'fundatabase'") The above exception was the direct cause of the following exception: Traceback (most recent call last): File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site- packages/django/utils/autoreload.py", line 226, in wrapper fn(*args, **kwargs) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/core/management/commands/runserver.py", line 116, in inner_run self.check(display_num_errors=True) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/core/management/base.py", line 426, in check include_deployment_checks=include_deployment_checks, File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/core/checks/registry.py", line 75, in run_checks new_errors = check(app_configs=app_configs) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/core/checks/model_checks.py", line 28, in check_all_models errors.extend(model.check(**kwargs)) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/models/base.py", line 1178, in check errors.extend(cls._check_fields(**kwargs)) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/models/base.py", line 1255, in _check_fields errors.extend(field.check(**kwargs)) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/models/fields/__init__.py", line 925, in check errors = super(AutoField, self).check(**kwargs) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/models/fields/__init__.py", line 208, in check errors.extend(self._check_backend_specific_checks(**kwargs)) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/models/fields/__init__.py", line 317, in _check_backend_specific_checks return connections[db].validation.check_field(self, **kwargs) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/mysql/validation.py", line 18, in check_field field_type = field.db_type(connection) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/models/fields/__init__.py", line 625, in db_type return connection.data_types[self.get_internal_type()] % data File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/__init__.py", line 36, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/utils/functional.py", line 33, in __get__ res = instance.__dict__[self.name] = self.func(instance) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/mysql/base.py", line 188, in data_types if self.features.supports_microsecond_precision: File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/utils/functional.py", line 33, in __get__ res = instance.__dict__[self.name] = self.func(instance) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/mysql/features.py", line 53, in supports_microsecond_precision return self.connection.mysql_version >= (5, 6, 4) and Database.version_info >= (1, 2, 5) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/utils/functional.py", line 33, in __get__ res = instance.__dict__[self.name] = self.func(instance) File"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/mysql/base.py", line 363, in mysql_version with self.temporary_connection(): |
输入文件"/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/contextlib.py",第59行
返回下一个(self.gen)
在临时连接中输入文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/base/base.py",第564行
cursor = self.cursor()
文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/base/base.py",第231行,在游标中
cursor = self.make_debug_cursor(self._cursor())
在_cursor中输入文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/base/base.py",第204行
self.ensure_connection()
文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/base/base.py",第199行,在ensure_connection中
self.connect()
文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/utils.py",第95行,在退出
six.reraise(dj_exc_type,dj_exc_value,traceback)
文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/utils/six.py",第685行,重新加入
提高value.with_traceback(tb)
文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/base/base.py",第199行,在ensure_connection中
self.connect()
在连接文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/base/base.py",第171行
self.connection = self.get_new_connection(conn_params)
get_new_connection中的文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/django/db/backends/mysql/base.py",第268行
conn = Database.connect(** conn_params)
在Connect中输入文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/init.py",第88行
return Connection(* args,** kwargs)
文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/connections.py",第689行,在init中
self.connect()
文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/connections.py",第907行,在连接中
self._request_authentication()
在_request_authentication中输入文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/connections.py",第1115行
auth_packet = self._read_packet()
在_read_packet中输入文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/connections.py",第982行
packet.check_error()
在check_error中输入文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/connections.py",第394行
err.raise_mysql_exception(self._data)
在raise_mysql_exception中输入文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/err.py",第120行
_check_mysql_exception(errinfo)
在_check_mysql_exception中输入文件"/Users/me/DjangoProjects/myvenv/lib/python3.4/site-packages/pymysql/err.py",第115行
提出InternalError(错误,错误值)
django.db.utils.InternalError:(1049,"未知数据库'基金数据库'")
来自settings.py:
1 2 3 4 5 6 7 8 9 10 11 12 13 | DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'fundatabase', 'USER' : 'root', 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '3306', } } |
我从来没有找到答案,但只是删除了这个项目和我的包含django和python的env。 现在我能够创建没有这些错误的项目。