我正在尝试导入 pymssql,但收到此错误(我认为我已正确安装它):
Traceback (most recent call last):
File "sql.py", line 1, in <module>
import pymssql
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pymssql.so, 2): Symbol not found: _dbversion
Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pymssql.so
Expected in: dynamic lookup
如何解决这个问题?
最佳答案
导入时未找到该符号,可能是由于运行 setup.py 时编译时出现链接问题。
我遇到了这个特殊问题,因为我在我的 OS X 机器上运行 32 位 Python 2.7.12。执行以下操作解决了我的问题:
- 确保我安装了正确版本的 FreeTDS。 Until pymssql 2.20 is released, pymssql is not compatible with FreeTDS 1.0 。您可以使用
brew uninstall freetds
和brew install homebrew/versions/freetds091
在 OS X 上安装 FreeTDS 0.91
- 确保我安装了 64 位版本的 Python 2.7.12。 This a quick way to verify if you're running python as 32 or 64 bit 。我用过the python.org installer而不是使用
brew install python
- 确保我在安装 pymssql 时不依赖 pip 缓存。相反,我使用了
pip install --no-cache-dir pymssql
您需要 FreeTDS 才能成功构建,如果您不使用正确的架构进行构建,则可能会遇到此错误。
希望这有帮助!
关于python - 导入pymssql时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35819148/