0

我已经在运行 macOS sierra 的计算机上安装了 Homebrew Python。问题是 SQLite 根本不起作用:

Python 2.7.11 (default, Jul  8 2016, 15:45:55)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.24.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/dbapi2.py", line 28, in <module>
    from _sqlite3 import *
ImportError: No module named _sqlite3

我重新安装了python--verbose并找到了以下信息:

*** WARNING: renaming "_sqlite3" since importing it failed: dlopen(build/lib.macosx-10.12-x86_64-2.7/_sqlite3.so, 2): Symbol not found: _sqlite3_enable_load_extension
  Referenced from: build/lib.macosx-10.12-x86_64-2.7/_sqlite3.so
  Expected in: flat namespace
 in build/lib.macosx-10.12-x86_64-2.7/_sqlite3.so

Python build finished, but the necessary bits to build these modules were not found:
_bsddb             dl                 imageop
linuxaudiodev      ossaudiodev        spwd
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.


Failed to build these modules:
_sqlite3

到底是怎么回事?我怎样才能让 SQLite 工作?

4

1 回答 1

1

使用此拉取请求中的公式解决了我的问题。感谢@user2960428 的链接。PR还没有合并,可以这样安装:

$ brew install https://github.com/mateusdelbianco/homebrew-core/raw/76a64eaf01ade6e9819a6f7b81034b1992181652/Formula/python.rb
于 2016-08-24T17:40:42.573 回答