首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImportError:这是MySQLdb版本(1,2,4,'beta',4),而_mysql是版本(1,2,5,'final',1)

ImportError:这是MySQLdb版本(1,2,4,'beta',4),而_mysql是版本(1,2,5,'final',1)
EN

Stack Overflow用户
提问于 2015-06-17 02:34:13
回答 5查看 10.7K关注 0票数 7

我已经在mac上安装了MySQL-python,其过程如下:

代码语言:javascript
复制
pip uninstall MySQL-python
brew install mysql
pip install MySQL-python

然后测试它:

代码语言:javascript
复制
python -c "import MySQLdb"

当我测试它时,它在我的mac终端上给了我以下错误:

ImportError:这是MySQLdb版本(1,2,4,'beta',4),而_mysql是版本(1,2,5,'final',1)

请帮我解决这个问题。

EN

回答 5

Stack Overflow用户

发布于 2019-02-05 21:06:17

当我运行airflow程序时出现了这个错误

问题

代码语言:javascript
复制
$airflow
Traceback (most recent call last):
  File "/home/idx/.virtualenvs/airflow/bin/airflow", line 16, in <module>
    from airflow import configuration
  File "/home/idx/.virtualenvs/airflow/lib/python2.7/site-packages/airflow/__init__.py", line 31, in <module>
    from airflow import settings
  File "/home/idx/.virtualenvs/airflow/lib/python2.7/site-packages/airflow/settings.py", line 150, in <module>
configure_orm()
  File "/home/idx/.virtualenvs/airflow/lib/python2.7/site-packages/airflow/settings.py", line 136, in configure_orm
engine = create_engine(SQL_ALCHEMY_CONN, **engine_args)
  File "/home/idx/.virtualenvs/airflow/lib/python2.7/site-packages/sqlalchemy/engine/__init__.py", line 419, in create_engine
return strategy.create(*args, **kwargs)
  File "/home/idx/.virtualenvs/airflow/lib/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 80, in create
    dbapi = dialect_cls.dbapi(**dbapi_args)
  File "/home/idx/.virtualenvs/airflow/lib/python2.7/site- 
    packages/sqlalchemy/dialects/mysql/mysqldb.py", line 102, in dbapi
    return __import__('MySQLdb')
  File "/home/idx/.virtualenvs/airflow/lib/python2.7/site-packages/MySQLdb/__init__.py", line 23, in <module>
(version_info, _mysql.version_info))
ImportError: this is MySQLdb version (1, 2, 5, 'final', 1), but _mysql is version (1, 4, 1, 'final', 0)

背景

我使用的MySQLdb是:/home/will/.local/lib/python2.7/site-packages/MySQLdb/。该目录中的cat release.py显示了1.2.5 final 1

代码语言:javascript
复制
__author__ = "Andy Dustman <farcepest@gmail.com>"
version_info = (1,2,5,'final',1)
__version__ = "1.2.5"

Fix

为了使版本匹配,我运行了下面的代码,并为我修复了它:

代码语言:javascript
复制
# for some reason, even though I had mysqlclient==1.4.1 from pip freeze, I had to uninstall it first, then reinstall
pip uninstall mysqlclient
pip install mysqlclient==1.4.1
票数 8
EN

Stack Overflow用户

发布于 2016-07-26 05:41:46

在这条路下:

/Library/Python/2.7/site-包

在我的mac上,我可以看到MySQL_python-1.2.5-py2.7.egg-infoMySQLdb只是删除了MySQL_python-1.2.5py2.7的文件,MySQLdb-info/可以修复这个问题:

sudo rm -rf MySQL_python-1.2.5-py2.7鸡蛋-info/

票数 2
EN

Stack Overflow用户

发布于 2017-05-07 07:01:11

这是一个兼容性问题。我所做的是将mysql设置为1.2.4b.4。

如果已安装mysqldb,请卸载

pip卸载MySQL-python

然后用相同的版本安装:

安装mysql-python==1.2.4b4

这是测试版,所以b

这对我有用。我通过使用python进行交互进行了测试。

然后导入MySQLdb,它就成功了。希望这能有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30881402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档