gpt4 book ai didi

python - MySQLdb 和 Python ImportError

转载 作者:可可西里 更新时间:2023-11-01 07:05:15 25 4
gpt4 key购买 nike

我这辈子都弄不明白。我整天都在网上搜索,所有资源似乎都过时了。据我所知,让 MySQLdb 和 Python 一起玩得很好是相当困难的。我已尽我所能,但我不确定如何继续前进。

首先,我运行的是 Python 2.7

当我尝试在实时解释器中运行“import MySQLdb”时得到的错误是这样的:

ImportError: this is MySQLdb version (1, 2, 2, 'final', 0), but _mysql is version (1, 2, 5, 'final', 1)

当我运行“pip install mysql-python”时,我也看到了以下错误日志,但是我不确定那是否与版本不匹配有关。 http://pastebin.com/hqVv6aPZ

我有一个依赖于 MySQLdb 的 python 项目,我一直在尝试获取我正在运行 Python 的 virtualenv 以正确安装包。这就是我所做的:

  • 我从源代码构建了 MySQL,以确保我的机器上有 64 位兼容版本的 MySQL。我使用 --universal 标志来确保这一 pip 。
  • 我已确认我也在运行 64 位版本的 Python。
  • MySQL 来自 Homebrew
  • mysql-python来自pip

我这辈子都想不出要在这里做什么。似乎我的机器上 MySQLdb 和 _mysql 之间的版本不匹配。是这样吗?如果是这样,解决方案只是重新安装旧版本的 MySQL 吗?似乎当我强制 pip 安装 1.2.5 版的 mysql-python 时,它安装了 1.2.2 版的 MySQLdb,所以我不知道在这里做什么,因为我不确定 Homebrew 软件中的哪个包实际上与_mysql 版本 1.2.5。

编辑 -

系统路径

'/Users/XXXXXXXXXXX/virtualenvs/qa-automated-tests/lib/python27.zip',
'/Users/XXXXXXXXXXX/virtualenvs/qa-automated-tests/lib/python2.7',
'/Users/XXXXXXXXXXX/virtualenvs/qa-automated-tests/lib/python2.7/plat-darwin',
'/Users/XXXXXXXXXXX/virtualenvs/qa-automated-tests/lib/python2.7/plat-mac',
'/Users/XXXXXXXXXXX/virtualenvs/qa-automated-tests/lib/python2.7/plat-mac/lib-scriptpackages', '/Users/XXXXXXXXXXX/virtualenvs/qa-automated-tests/Extras/lib/python',
'/Users/XXXXXXXXXXX/virtualenvs/qa-automated-tests/lib/python2.7/lib-tk',
'/Users/XXXXXXXXXXX/virtualenvs/qa-automated-tests/lib/python2.7/lib-old',
'/Users/XXXXXXXXXXX/virtualenvs/qa-automated-tests/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/adam.stark/virtualenvs/qa-automated-tests/lib/python2.7/site-packages'

Python --version 说我使用的是 2.7.5 版。我还将 pastebin 设置为公开。我只是不确定该转储中的相关信息到底是什么,它会返回 16 个错误。

最佳答案

这里的问题最终归结为几件事。正如 abarnert 在问题的评论中指出的那样,系统 python 和 virtualenv python 混合在一起。为了解决这个问题,我必须将 PyDev 项目的项目属性更改为仅指向 virtualenv python 实例,然后在 PyDev 解释器首选项中我必须重建 PYTHONPATH。

完成后,我必须在 virtualenv 中运行以下代码:

pip uninstall mysql-python 
pip install mysql-python==1.2.5

这解决了所有问题。

关于python - MySQLdb 和 Python ImportError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27073107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com