通过
pyenv
在 macOS 上安装了 python 3.7.0。
sqlite3
已安装:
which sqlite3
/usr/bin/sqlite3
还尝试通过pip安装
pysqlite3
:
pip install pysqlite3
但是导入时找不到模块
sqlite3
:
In [1]: import sqlite3
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-1-5239c6be4108> in <module>
----> 1 import sqlite3
~/.pyenv/versions/3.7.0/lib/python3.7/sqlite3/__init__.py in <module>
21 # 3. This notice may not be removed or altered from any source distribution.
22
---> 23 from sqlite3.dbapi2 import *
~/.pyenv/versions/3.7.0/lib/python3.7/sqlite3/dbapi2.py in <module>
25 import collections.abc
26
---> 27 from _sqlite3 import *
28
29 paramstyle = "qmark"
ModuleNotFoundError: No module named '_sqlite3'
macOS上的sqlite3需要通过brew安装开发库吗?
这种方法有效:
CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install 3.7.0
参考:
https://github.com/pyenv/pyenv/issues/108#issuecomment-359161050
我知道这是 5 年前问过的问题,但对于任何新手来说,如果你使用 pyenv,我找到了一个简单的方法来解决这个问题。
运行: sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-开发
假设你已经安装了pyenv,在pyenv中安装新版本的python:pyenv install 3.8.10(将python版本更改为你想要的版本)
您的新版本的 python 应该具有所需的依赖项,如 sqlite3