导入错误:这是 MySQLdb 版本 (1, 2, 4, 'beta', 4),但 _mysql 是版本 (1, 2, 5, 'final', 1)

rom*_*e99 6 python mysql macos mysql-python python-2.7

我已经按照以下步骤在 mac 上安装了 MySQL-python:

pip uninstall MySQL-python
brew install mysql
pip install MySQL-python
Run Code Online (Sandbox Code Playgroud)

然后测试一下:

python -c "import MySQLdb"
Run Code Online (Sandbox Code Playgroud)

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

导入错误:这是 MySQLdb 版本 (1, 2, 4, 'beta', 4),但 _mysql 是版本 (1, 2, 5, 'final', 1)

请帮我解决这个问题。

Wil*_*ill 6

我在运行 Python 程序时遇到了这个错误airflow:

问题

$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)
Run Code Online (Sandbox Code Playgroud)

背景

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

__author__ = "Andy Dustman <farcepest@gmail.com>"
version_info = (1,2,5,'final',1)
__version__ = "1.2.5"
Run Code Online (Sandbox Code Playgroud)

使固定

为了使版本匹配,我运行了以下内容并为我修复了它:

# 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
Run Code Online (Sandbox Code Playgroud)


Chu*_*ung 0

您可以重新安装MySQLdb-python并安装此版本:MySQLdb-python-1.2.5

    pip uninstall MySQL_python
    pip install -Iv https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip#md5=654f75b302db6ed8dc5a898c625e030c
Run Code Online (Sandbox Code Playgroud)

  • 如果我想使用更新的 mysql-python 该怎么办?`但是_mysql是版本(1, 2, 5, 'final', 1)`,`_mysql`对应的包是什么?是否可以更新/升级`_mysql`? (2认同)