安装mysql-python(Windows)

50

我花了几个小时试图让Django在我的电脑上工作。问题是我无法安装mysql-python包。我使用的是Windows 7 64位操作系统。这是我尝试过的:

  1. 下载了easy_install
  2. 下载了Cygwin64以便运行Linux命令(Win cmd让我疯了)
  3. 输入命令:easy_install mysql-python(然后出现一个错误消息,表示找不到vcvarsall.bat文件)
  4. 下载了Visual Studio 2010。但是,我卸载了它,因为我发现我已经有另一个版本的Visual Studio,而这也没有解决问题。

编辑:我发现了这个链接:https://pypi.python.org/pypi/MySQL-python/1.2.5。这是否意味着我无法在Python 3.3上运行Django?如果已经有.exe文件,为什么还要经历所有这些麻烦?


安装PIP http://www.pip-installer.org/en/latest/installing.html 并使用它来安装软件包。同时确保你运行的所有Python文件都被添加到你的Path环境变量中。这可能是为什么它说“vcvarsall.bat”未找到的原因。你应该能够无问题地使用MySQL / Django / Python 3.3。它们都得到支持并可以一起工作。 - Aaron Lelevier
1
谢谢Aron!我现在已经下载了PIP。但是,当我输入pip install mysql-python时,我仍然收到完全相同的错误消息。你说的Python文件是指我需要将哪些文件添加到我的路径中? - Myone
请查看我下面的答案,那应该让MySQL运行起来。 - Aaron Lelevier
11个回答

87

尝试运行以下命令:

pip install mysqlclient

9
这是最简单的解决方案,可以直接使用,应该被置于首位作为最佳答案。 - user1052080
如果使用PyCharm,您可以通过项目解释器窗口直接安装mysqlclient。 - Vlad Schnakovszki
1
我敢肯定 OP 的问题在于 pip 安装 mysqlclient 时出现了一堆错误。我也遇到了同样的问题,用 VS 2015 花了我 5 小时才找到根本原因,其中包括需要更新 setuptools、更新 easyinstall、更新 pip、安装 wheel、安装 c++2010 并将虚拟环境路径改短。然后我发现在另一个环境中安装较低版本的 mysqlclient 可以解决问题,真是太疯狂了。 - Tim
这是Anaconda Navigator 3.6 Python最简单的答案。 - Murtaza Kanchwala
这个问题的另一个可能解决方案在stackoverflow.com/a/51811349/1552410下。 - kaya
错误:需要 Microsoft Visual C++ 14.0。请使用“Microsoft Visual C++ Build Tools”获取它:https://visualstudio.microsoft.com/downloads/ - vishwakarma09

60

如果您正在WINDOWS上使用mysqlclient时遇到此错误,请尝试安装较低版本:

pip install mysqlclient==1.3.4

在我的Windows 10和Python 3.4上运行良好。谢谢。 - joker.8
我遇到了“为mysqlclient构建轮子失败”的错误,Laura Chesches的答案对我有用。 - Stefan
这对我解决了问题。在我的安装过程中,我需要为运行Python 2.7(支持旧插件)的QGIS插件安装mysqldb。(2018年初) - JoeCrash
1
FYI,这个可以工作是因为1.3.4已经预编译成了wheel格式,较新版本仅提供源代码。 - Charles L.
谢谢。这个方法在Python 2.7和Pycharm上对我有效。其他的解决方案,比如pip install mysql-python,在我的情况下都没有用。 - rakesht

15
如果您使用网站http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python,请下载以下文件:
  • mysqlclient-1.3.6-cp34-none-win32.whl 或者

  • mysqlclient-1.3.6-cp34-none-win_amd64.whl

根据您的Python版本(这些是适用于Python 3.4)和Windows类型(x64或x32),选择相应的文件。

将此文件提取到C:\Python34\Lib\site-packages中,您的项目就可以正常工作了。


4
请运行命令 pip install C:\XX\mysqlclient‑1.3.6‑cpYY‑none‑winZZ.whl来安装MySQL客户端。 - wolfyuk
这对我在Win7上有效,但需要下载vcforpython才能使用mysqlclient,浪费时间。 - user4985526

14

MySQLdb的Windows安装程序适用于32位和64位系统,并支持Python版本从2.6到3.4。请查看此处


我几乎和@Myone描述的情况完全相同。从此链接手动下载解决了问题。不需要对PYTHONPATH进行任何修改。 - WAF

12

你需要按照以下方式将Python添加到你的Path环境变量中。前往:

  1. 我的电脑
  2. 系统属性
  3. 高级系统设置
  4. 在“高级”选项卡下,点击“环境变量”按钮
  5. 然后,在系统变量下,您需要添加/更改以下变量:PYTHONPATHPath。这是我变量的剪贴板内容:

PYTHONPATH

C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts

路径

C:\Program Files\MySQL\MySQL Utilities 1.3.5\;C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts

您的路径可能不同,请进行适当调整,但这个配置对我有效,经过这些更改后,您应该能够运行MySQL。


谢谢你的回答。我没有一个名为PYTHONPATH的系统变量,但我创建了一个并添加了你建议的内容。我也对Path变量做了同样的事情。我已经检查了所有路径是否存在于我的电脑上。它们都存在,除了这个:C:\Python33\Lib\lib-tk。找不到它。然而,我忽略了它并重新启动了电脑。然后我尝试了"easy_install mysql-python"和"pip install mysql-python"。它们都生成了相同的错误信息,说找不到vcvarsall.bat。 - Myone
哦...所以现在我下载了另一个版本的Visual Studio(2010 C++,我想上次下载了另一个版本),问题解决了!好吧,部分问题。现在它给了我另一个错误消息,似乎与vcvarsall.bat相关:文件“C:\Python33\Lib\distutils\msvc9compiler.py”,第287行,在query_vcvarsall中,引发ValueError(str(list(result.keys())))错误:['path']。 - Myone
如果是[路径]错误,请再次检查您的路径。我不使用Visual Studio与MySQL / Django,所以我不确定您是否需要它。这可能是您不需要的额外配置。您是否遵循链接中的安装PIP说明?并且pip已成功安装? - Aaron Lelevier
这是我的路径,如果你想看一下:路径:(很多无趣的东西...)+ C:\Python33;C:\Python33\Scripts;C:\Program Files (x86)\MySQL\MySQL Utilities 1.3.6;C:\cygwin64;C:\Python33\Lib\site-packages;C:\Python33\Lib;C:\Python33\DLLs;C:\Python33\Lib\lib-tk;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VCPYTHONPATH: C:\Python33;C:\Python33\Lib\site-packages;C:\Python33\Lib;C:\Python33\DLLs;C:\Python33\Lib\lib-tk;C:\Python33\Scripts;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC - Myone
2
太过复杂了,只需执行pip install mysqlclient即可。 - user1052080
显示剩余5条评论

4

对于使用 Python 3.0+(现在应该是所有人)的人来说:

不幸的是,MySQL-Python 1.2.5 尚不支持 Python 3.0+(我认为这有点不合理,因为 Python 3+ 已经发布了一段时间)。参考:https://pypi.python.org/pypi/MySQL-python/1.2.5

因此,我的解决方法是使用 Oracle 的 MySQL 连接器。在 settings.py 中,将 DATABASE 的 'ENGINE' 字段更改为: 'ENGINE': 'mysql.connector.django'。

关于更多信息,请查看此问题的第一个答案的最后一段:设置 Django 使用 MySQL

希望这能帮到你!!


为什么现在每个人都应该使用Python 3.0+? - Isopycnal Oscillation

3
我有一个略微不同的设置,但是我认为我的解决方案会对你有所帮助。
我使用 Windows 8 电脑,在 Eclipse 上运行 Python 2.7。当我尝试进行 "easy install" 时,它会尝试安装 "MySQL-python 1.2.5",但由于找不到 "vcvarsall.bat",安装失败。我尝试使用 "pip" 安装,但也遇到了类似的错误。它们都提到了 "vcvarsall.bat",这与 Visual Studio 有关。由于我没有 Visual Studio,我开始寻找其他解决方案,下面是我分享的解决方案。
解决方案:
1.从https://www.python.org/download重新安装Python 2.7.8,这将添加任何丢失的注册表设置,这是下一次安装所需的。
2.从http://pypi.python.org/pypi/MySQL-python/1.2.4安装1.2.4版本
在我完成这两个安装之后,我能够通过 Eclipse 查询我的 MySQL 数据库。

1

0

0

从这里https://www.lfd.uci.edu/~gohlke/pythonlibs/下载mysqlclient,根据你安装的Python版本下载正确的版本时要小心。 然后进行导入。 对我来说它起作用了,因为在我的情况下,错误提示要安装Visual Studio C++ 14.0,这浪费了我的时间并占用了C驱动器约10GB的空间。 因此,建议使用pip install mysqlclient安装mysqlclient。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接