无法在mac sierra上安装pyodbc或pymssql

问题描述:

我正尝试使用“pip install pyodbc”和“pip install pymssql”来安装pyodbc或pymssql python库。不过,我不断收到以下错误信息:无法在mac sierra上安装pyodbc或pymssql

Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/mz/2w0c0vc93bb2qy5rmrnxn85h0000gn/T/pip-build-upWR3q/pymssql/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/mz/2w0c0vc93bb2qy5rmrnxn85h0000gn/T/pip-DUorxp-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/mz/2w0c0vc93bb2qy5rmrnxn85h0000gn/T/pip-build-upWR3q/pymssql/ 

我已经安装了freetds的,虽然我仍然在安装过程中收到以下消息:

setup.py: Detected Darwin/Mac OS X. 
     You can install FreeTDS with Homebrew or MacPorts, or by downloading 
     and compiling it yourself. 

     Homebrew (http://brew.sh/) 
     -------------------------- 
     brew install freetds 

     MacPorts (http://www.macports.org/) 
     ----------------------------------- 
     sudo port install freetds 

    setup.py: Not using bundled FreeTDS 

任何人有任何想法,为什么会这样呢? 我试过this solution,this solutionthis solution

这是我目前freetds的设置:

     Version: freetds v0.91.112 
     freetds.conf directory: /usr/local/Cellar/[email protected]/0.91.112/etc 
MS db-lib source compatibility: no 
    Sybase binary compatibility: no 
        Thread safety: yes 
        iconv library: yes 
        TDS version: 7.1 
          iODBC: no 
         unixodbc: no 
      SSPI "trusted" logins: no 
         Kerberos: no 

我无法安装了unixODBC之一:

pip install unixodbc 
Collecting unixodbc 
    Could not find a version that satisfies the requirement unixodbc (from versions:) 
No matching distribution found for unixodbc 

请帮助?

+0

你正在使用什么版本的Python('python --version')?你使用'virtualenv'吗? – FlipperPA

我能够这样做是为了安装:

  1. brew install unixodbc
  2. 安装了unixODBC安装iODBC的:http://www.iodbc.org/dataspace/doc/iodbc/wiki/iodbcWiki/Downloads
  3. 安装MySQL驱动程序:https://dev.mysql.com/downloads/connector/odbc/
  4. 添加的驱动程序与myodbc-installer -a -d -n "MySQL ODBC 5.3 Driver" -t "Driver=/usr/local/lib/libmyodbc5w.so"
  5. 看到/Library/ODBC/odbc.ini/Library/ODBC/odbcinst.ini已更新
  6. 现在指向了unixODBC的ODBCINST.INI/ODBC.INI文件,而不是使用iODBC的INI文件:
  7. sudo rm /usr/local/Cellar/unixodbc/2.3.4/etc/odbc.ini && sudo ln -s /Library/ODBC/odbc.ini /usr/local/Cellar/unixodbc/2.3.4/etc/odbc.ini
  8. sudo rm /usr/local/Cellar/unixodbc/2.3.4/etc/odbcinst.ini && sudo ln -s /Library/ODBC/odbcinst.ini /usr/local/Cellar/unixodbc/2.3.4/etc/odbcinst.ini
  9. 安装pyodbc:pip3 install pyodbc
  10. 启动一个python外壳(python3),并检查是否可以找到驱动程序(import pyodbc;pyodbc.drivers()

我希望这可以帮助别人。