Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django Mysql:ImportError:无法导入名称Thing2Literal_Python_Mysql_Django - Fatal编程技术网

Python Django Mysql:ImportError:无法导入名称Thing2Literal

Python Django Mysql:ImportError:无法导入名称Thing2Literal,python,mysql,django,Python,Mysql,Django,当我与django合作时,我发现“ImportTerror:无法导入name Thing2Literal”。我试图从python迁移到mysql,但这个问题出现了。我已经搜索了很多次,有人说重要的是PyMysql的版本,但我已经检查了这个版本,它可能与我的环境很好地工作。My settings.py包含以下代码: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contri

当我与django合作时,我发现“ImportTerror:无法导入name Thing2Literal”。我试图从python迁移到mysql,但这个问题出现了。我已经搜索了很多次,有人说重要的是PyMysql的版本,但我已经检查了这个版本,它可能与我的环境很好地工作。My settings.py包含以下代码:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
]

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': os.path.join(BASE_DIR, 'mysqlblogdb'),
        'USER': 'root',
        'PASSWORD' : 'sher',
        'HOST' : 'localhost',
        'PORT' : '3306',
    }
}
“blog”是我的应用程序,错误为:

sherdeMacBook-Pro:website sher$ python manage.py makemigrations
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 341, in execute
django.setup()
File "/Library/Python/2.7/site-packages/django/__init__.py", line 27, in setupapps.populate(settings.INSTALLED_APPS)
File "/Library/Python/2.7/site-packages/django/apps/registry.py", line 108, in populateapp_config.import_models(all_models)
 File "/Library/Python/2.7/site-packages/django/apps/config.py", line 199, in import_models
self.models_module = import_module(models_module_name)
 File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
 File "/Library/Python/2.7/site-packages/django/contrib/auth/models.py", line 4, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
 File "/Library/Python/2.7/site-packages/django/contrib/auth/base_user.py", line 52, in <module>
class AbstractBaseUser(models.Model):
 File "/Library/Python/2.7/site-packages/django/db/models/base.py", line 119, in __new__
new_class.add_to_class('_meta', Options(meta, app_label))
 File "/Library/Python/2.7/site-packages/django/db/models/base.py", line 316, in add_to_class
value.contribute_to_class(cls, name)
 File "/Library/Python/2.7/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 "/Library/Python/2.7/site-packages/django/db/__init__.py", line 33, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
 File "/Library/Python/2.7/site-packages/django/db/utils.py", line 211, in __getitem__
backend = load_backend(db['ENGINE'])
 File "/Library/Python/2.7/site-packages/django/db/utils.py", line 115, in load_backend
return import_module('%s.base' % backend_name)
 File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/Library/Python/2.7/site-packages/django/db/backends/mysql/base.py", line 31, in <module>
from MySQLdb.converters import Thing2Literal, conversions       # isort:skip
ImportError: cannot import name Thing2Literal
sherdemacbookpro:website sher$python manage.py makemigrations
回溯(最近一次呼叫最后一次):
文件“manage.py”,第22行,在
从命令行(sys.argv)执行命令
文件“/Library/Python/2.7/site packages/django/core/management/_init__.py”,第367行,从命令行执行
utility.execute()
文件“/Library/Python/2.7/site packages/django/core/management/_init__.py”,第341行,在execute中
django.setup()
文件“/Library/Python/2.7/site packages/django/_init__.py”,第27行,在setupapps.populate(settings.INSTALLED_APPS)中
文件“/Library/Python/2.7/site packages/django/apps/registry.py”,第108行,在populateapp_config.import_models(所有_models)中
文件“/Library/Python/2.7/site packages/django/apps/config.py”,第199行,在import\u模型中
self.models\u module=导入模块(models\u module\u name)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/_init__.py”,第37行,在导入模块中
__导入(名称)
文件“/Library/Python/2.7/site packages/django/contrib/auth/models.py”,第4行,在
从django.contrib.auth.base_user导入AbstractBaseUser、BaseUserManager
文件“/Library/Python/2.7/site packages/django/contrib/auth/base_user.py”,第52行,在
类AbstractBaseUser(models.Model):
文件“/Library/Python/2.7/site packages/django/db/models/base.py”,第119行,新__
新建类。将类添加到类(“元”,选项(元,应用标签))
文件“/Library/Python/2.7/site packages/django/db/models/base.py”,第316行,在add_to_类中
值。贡献给类(cls,名称)
文件“/Library/Python/2.7/site packages/django/db/models/options.py”,第214行,在contribute_to_类中
self.db\u table=truncate\u name(self.db\u table,connection.ops.max\u name\u length())
文件“/Library/Python/2.7/site-packages/django/db/_-init___;.py”,第33行,在__
返回getattr(连接[默认\u DB\u别名],项)
文件“/Library/Python/2.7/site packages/django/db/utils.py”,第211行,在__
后端=加载\u后端(db['ENGINE'])
文件“/Library/Python/2.7/site packages/django/db/utils.py”,第115行,在load_后端
返回导入\u模块(“%s.base”%backend\u名称)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/_init__.py”,第37行,在导入模块中
__导入(名称)
文件“/Library/Python/2.7/site packages/django/db/backends/mysql/base.py”,第31行,在
从MySQLdb.converters导入Thing2Literal,转换#isort:skip
ImportError:无法导入名称Thing2Literal

NAME是什么意思:os.path.join(BASE_DIR,'mysqlblogdb')??mysql不会查找文件,它会查找数据库,您需要从终端或gui创建数据库,然后为您的答案传递名称onlytank。os.path.join(BASE_DIR“”)是setting.py中存在的默认代码,适用于我使用的django 1.10。我刚刚删除了“os.path.join”,但仍然出现了相同的错误。您有一个名为mysqlblogdb的数据库吗?设置如下,DATABASES={'default':{'ENGINE':'django.db.backends.mysql','NAME':'mysqlblogdb','USER':'root','PASSWORD':'sher','HOST':'localhost','PORT':'3306',}}我已经创建了一个名为mysqlblogdb的数据库。在使用MySQL之前,我使用sqlite3,这在django中运行良好。在那之后,我修改了我的代码并尝试连接到MySQL,但它出错了。!!!!!!!!它起作用了!!!!!!!!!!!!非常感谢。这个问题困扰了我好几天。享受django!享受stackoverflow!“名称”是什么意思:os.path.join(BASE_DIR,'mysqlblogdb')??mysql不会查找文件,它会查找数据库,您需要从终端或gui创建数据库,然后为您的答案传递名称onlytank。os.path.join(BASE_DIR“”)是setting.py中存在的默认代码,适用于我使用的django 1.10。我刚刚删除了“os.path.join”,但仍然出现了相同的错误。您有一个名为mysqlblogdb的数据库吗?设置如下,DATABASES={'default':{'ENGINE':'django.db.backends.mysql','NAME':'mysqlblogdb','USER':'root','PASSWORD':'sher','HOST':'localhost','PORT':'3306',}}我已经创建了一个名为mysqlblogdb的数据库。在使用MySQL之前,我使用sqlite3,这在django中运行良好。在那之后,我修改了我的代码并尝试连接到MySQL,但它出错了。!!!!!!!!它起作用了!!!!!!!!!!!!非常感谢。这个问题困扰了我好几天。享受django!享受stackoverflow!