Microsoft Visual C ++ 10.0是必需的。使用" Microsoft Windows SDK 7.1":www.microsoft.com/download/details.aspx?id = 8279

时间:2017-08-20 12:30:09

标签: python mysql django visual-c++

**需要Microsoft Visual C ++ 10.0。使用" Microsoft Windows SDK 7.1":www.microsoft.com/download/details.aspx?id = 8279 **

我在安装mysqlclient或mysql-python时遇到此错误

通过pip install mysqlclient

我已经更新了所有内容而没有使用任何使用崇高文字的视觉工作室产品,请帮助我!

1 个答案:

答案 0 :(得分:1)

我想测试一下我在评论中所说的是否属实,所以我尝试在我的 Python 2.7.13中pip install mysqlclient / em>( VEnv )安装:

e:\Work\Dev\VEnvs\py2713x64-test>Scripts\pip.exe install -v mysqlclient
Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be incorrect
Config variable 'Py_UNICODE_SIZE' is unset, Python ABI tag may be incorrect
Collecting mysqlclient
  1 location(s) to search for versions of mysqlclient:
  * https://pypi.python.org/simple/mysqlclient/
  Getting page https://pypi.python.org/simple/mysqlclient/
  Looking up "https://pypi.python.org/simple/mysqlclient/" in the cache
  No cache entry available
  Starting new HTTPS connection (1): pypi.python.org
  "GET /simple/mysqlclient/ HTTP/1.1" 200 2671
  Updating cache with response from 
  "https://pypi.python.org/simple/mysqlclient/"
  Caching b/c date exists and max-age > 0
  Analyzing links from page https://pypi.python.org/simple/mysqlclient/

... LOTS OF CRAP ...

  No cache entry available
  "GET /packages/40/9b/0bc869f290b8f49a99b8d97927f57126a5d1befcf8bac92c60dc855f2523/mysqlclient-1.3.10.tar.gz HTTP/1.1" 200 82102
  Downloading mysqlclient-1.3.10.tar.gz (82kB)
  Downloading from URL https://pypi.python.org/packages/40/9b/0bc869f290b8f49a99b8d97927f57126a5d1befcf8bac92c60dc855f2523/mysqlclient-1.3.10.tar.gz#md5=e7fb95c4055e2d8a3322db5c85ab6fc8 (from https://pypi.python.org/simple/mysqlclient/)
    99% |############################### | 81kB 252kB/s eta 0:00:01  Updating cache with response from "https://pypi.python.org/packages/40/9b/0bc869f290b8f49a99b8d97927f57126a5d1befcf8bac92c60dc855f2523/mysqlclient-1.3.10.tar.gz"

... SOME OTHER CRAP ...

  running build_ext
  building '_mysql' extension
  error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27
error
  Failed building wheel for mysqlclient

发生了什么:

  • 它连接到https://pypi.python.org/simple/mysqlclient
  • 检查最新版本: 1.3.10
  • 由于此版本仅针对 Python 3.5 Python 3.6 32/64位)进行编译:

    • 的mysqlclient-1.3.10-CP35-cp35m-win32.whl
    • 的mysqlclient-1.3.10-CP35-cp35m-win_amd64.whl
    • 的mysqlclient-1.3.10-CP36-cp36m-win32.whl
    • 的mysqlclient-1.3.10-CP36-cp36m-win_amd64.whl
  • 下载源档案: mysqlclient-1.3.10.tar.gz

  • 存档包含(除了 Python 文件,安装文件和其他附加文件)文件: _mysql.c ,它是与进行通信的后端MySQL的。正如我所说,为了使用 C 代码,必须将其编译为 .dll _mysql.pyd )。有关构建(编译) C 代码的更多信息,请查看[SO]: LNK2005 Error in CLR Windows Form (@CristiFati's answer)
  • 现在,由于 Python 将在导入 mysqlclient 时加载 .dll ,因此必须使用相同的编译器进行编译,或者更好:它必须使用 Python 使用的相同的 C运行时库( UCRT (它确实不是必须的,但是在一个进程中使用多个 UCRT ,在99.99%的情况下是灾难的处方),它尝试使用 Microsoft Visual C ++ 9 .0 <构建它/ em>(或 VStudio 2008 ),但它找不到它,因而错误

唯一不同的是 Microsoft Visual C ++ 10 .0 (或 VStudio 2010 )版本,它告诉我你正在使用 Python 3.3 或(最有可能) Python 3.4

可能的解决方案:

  • 从提供的链接下载 Microsoft Windows SDK 7.1 并安装它(然后重新运行pip install mysqlclient命令)。这是一个时间步骤,当你必须安装其他3个 rd -party模块时,我会100%肯定你需要它附带 C 来源
  • 下载并安装较新的 Python 版本( 3.5 3.6 )并运行 pip 作为包已经为这些版本编译
  • Google 用于其他可以为 Python 版本下载模块的编译版本的地方。虽然从不受信任的来源安装东西时应该小心
  • [SO]: Python 3.4.0 with MySQL database提到了另一个包裹:[GitHub]: PyMySQL/PyMySQL - Pure Python MySQL Client https://pymysql.readthedocs.io(其他包裹也列在那里),我不确定2是多么相似,但你可以试一试