GVKun编程网logo

加载MySQLdb模块时出错'您安装了mysqlclient还是MySQL-python?(无法加载mysql odbc)

14

以上就是给各位分享加载MySQLdb模块时出错'您安装了mysqlclient还是MySQL-python?,其中也会对无法加载mysqlodbc进行解释,同时本文还将给你拓展Centos安装pyth

以上就是给各位分享加载MySQLdb模块时出错'您安装了mysqlclient还是MySQL-python?,其中也会对无法加载mysql odbc进行解释,同时本文还将给你拓展Centos 安装python MySQL 模块 -- MySQLdb、Django 3.0 中连接mysql 8.0,可以不使用pymysql ,升级Mysqlclient即可、django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:没有名为MySQLdb的模块、MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts.等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

加载MySQLdb模块时出错'您安装了mysqlclient还是MySQL-python?(无法加载mysql odbc)

加载MySQLdb模块时出错'您安装了mysqlclient还是MySQL-python?(无法加载mysql odbc)

如何解决加载MySQLdb模块时出错''您安装了mysqlclient还是MySQL-python??

pip install pyMysqL

然后,在项目原始目录(与settings.py相同)中编辑__init__.py文件。

加:

import pyMysqL

pyMysqL.install_as_MysqLdb()

解决方法

我正在使用python34在django项目中使用Windows 10命令行,但是我在使用SQL时遇到困难。

我已经使用pip install mysqlclient==1.3.5并安装了mysqlclient 并找到了该文件,以确保我没有妄想。然后python manage.py migrate,我跑去将表迁移到SQL数据库(我正在使用phpmyadmin)。但是,当命令返回时…

 File "C:\Users\user\env\lib\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 ''MySQLdb''.
Did you install mysqlclient or MySQL-python?

我知道这样的问题已经存在,但是似乎没有一种解决方案对尝试产生任何影响。先感谢你。

Centos 安装python MySQL 模块 -- MySQLdb

Centos 安装python MySQL 模块 -- MySQLdb

python操作MysqL需要安装module --- MysqLdb。

1. 下载MysqLdb

下载地址:https://pypi.python.org/pypi/MySQL-python

目前版本为1.2.5. 下载zip包之后解压。

2. 安装过程

进入解压后的目录:MysqL-python-1.2.5

sudo python setup.py build
sudo python setup.py install

3. 遇到的问题

build或者install过程报错: MysqL_config not found

需要安装MysqL-dev.

sudo yum install MysqL-devel


4. 引用模块

python
>>> import MysqLdb

Django 3.0 中连接mysql 8.0,可以不使用pymysql ,升级Mysqlclient即可

Django 3.0 中连接mysql 8.0,可以不使用pymysql ,升级Mysqlclient即可

python 中,连接mysql一般都推荐用pymysql ,而且在django中,网上的教程都是这么连接mysql的.

import pymysql

pymysql.install_as_MySQLdb()

这实际是pymysql模块调用了模块中的一个函数 install_as_MySQLdb(),这个函数的注释是这么说的.

After this function is called, any application that imports MySQLdb or
_mysql will unwittingly actually use pymysql.

大概意思是:

  调用此函数后,任何导入MySQLdb或_mysql的应用程序都会在不经意间实际使用pymysql。

最近在使用Django 3.0 中, 导入 Pymsql的时候报错,提示Mysqlclient版本问题,.既然django 在我们选择使用MYSQL的情景时,实际自动调用的是MySQLdb, Pymysql是可有可无的,我就直接pip install 了最新版的MySQLdb, 版本号是1.4.6, 在没使用Pymysql, 也不用在settings中自己导入MySQLdb的情况下,顺利连接我的MySQL .

我本地的安装的是MySQL8.0 ,用来练习Django中的ORM操作,没有发现问题. 我还没测试过Mysql 5.6 5.7版本.估计也没问题,(注:django不支持Mysql5.6以下的版本)

看来老方法有 OUT 了的可能性.

发布出来供大家参考, 如果有版本兼容性问题,还劳烦在本帖下留言,供大家分享.

补充:

django3.0官方文档说,3.0需要mysqlclient 1.3.13或者更高版本的支持,并且mysqlclient是推荐的数据库驱动程序.

除了mysqlclient, django还可以使用Connector/Python 作为mysql的数据库驱动程序,这个驱动可以在dev.mysql.com下载. 这个驱动是Oracle提供的纯python驱动, 不需要MySQL客户端库或标准库之外的任何Python模块作为支持.

不管mysqlclient还是Connector/Python都支持线程安全和连接池特性。

原文出处:https://www.cnblogs.com/worldinmyeyes/p/12093495.html

django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:没有名为MySQLdb的模块

django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:没有名为MySQLdb的模块

我在尝试连接到mysql数据库时遇到的问题。我还提供了我已使用的数据库设置。

 Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_lineutility.execute()File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in executeself.fetch_command(subcommand).run_from_argv(self.argv)File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_commandklass = load_command_class(app_name, subcommand)File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 77, in load_command_classmodule = import_module(''%s.management.commands.%s'' % (app_name, name))File "/home/arundhati/Desktop/test/testprac/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module__import__(name)File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 8, in <module>from django.core.management.sql import custom_sql_for_model, emit_post_sync_signalFile "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/sql.py", line 9, in <module>from django.db import modelsFile "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/__init__.py", line 40, in <module>backend = load_backend(connection.settings_dict[''ENGINE''])File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__return getattr(connections[DEFAULT_DB_ALIAS], item)File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/utils.py", line 93, in __getitem__backend = load_backend(db[''ENGINE''])File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/utils.py", line 27, in load_backendreturn import_module(''.base'', backend_name)File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module__import__(name)File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 17, in <module>raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

数据库设置::

DATABASES = {    ''default'': {        ''ENGINE'': ''django.db.backends.mysql'', # Add ''postgresql_psycopg2'', ''mysql'', ''sqlite3'' or ''oracle''.        ''NAME'': ''ar_test_db'',                      # Or path to database file if using         # The following settings are not used with sqlite3:        ''USER'': '''',        ''PASSWORD'': '''',        ''HOST'': '''',                      # Empty for localhost through domain sockets or   ''127.0.0.1'' for localhost through TCP.        ''PORT'': '''',                      # Set to empty string for default.    }}

非常感谢您的帮助 !!

答案1

小编典典

看来您没有安装python mysql软件包,请尝试:

pip install mysql-python

或如果未使用虚拟环境(在* nix主机上):

sudo pip install mysql-python

MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts.

MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts.

在本地的电脑上测试用的MySql用的一般默认的端口3306,在远程服务器上安装时修改成了3307端口,本地连接和远程连接都可以访问,在C#使用连接字符连接数据库时报错了

System.AggregateException: 发生一个或多个错误。 ---> System.Data.Entity.Core.ProviderIncompatibleException: 提供程序未返回 ProviderManifestToken 字符串。 ---> MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts.

<add name="SpanEpochDADbContext" connectionString="server=192.168.228.128;user id=root;password=admin;persistsecurityinfo=True;Character Set=utf8;database=TTPT_SpanEpochDA2" providerName="MySql.Data.MySqlClient"/>

后面才发现连接字符串上没有写端口,如果使用3306端口是不需要写端口的,修改了默认的端口要在连接字符串后面加上;PORT=3307就可以

关于加载MySQLdb模块时出错'您安装了mysqlclient还是MySQL-python?无法加载mysql odbc的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Centos 安装python MySQL 模块 -- MySQLdb、Django 3.0 中连接mysql 8.0,可以不使用pymysql ,升级Mysqlclient即可、django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:没有名为MySQLdb的模块、MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts.等相关知识的信息别忘了在本站进行查找喔。

本文标签: