Python 3.2:无法导入sqlite3模块

时间:2011-12-25 08:04:57

标签: python python-3.x

我刚刚在ubuntu 10.04.3上安装了python 3.2.2(在readme文件的所有instraction之后)并尝试导入sqlite3模块 - 结果:

No module named _sqlite3

然后我查看了lib-dynload目录,没有文件_sqlite3.so (但它在python 2.6中)。

如何解决这个问题?

谢谢!

4 个答案:

答案 0 :(得分:9)

如果从源代码安装,则需要安装sqlite3的开发库。

sudo apt-get install libsqlite3-dev

您可能还想安装libreadline-devlibssl-dev

答案 1 :(得分:8)

下载python 3.3.2 http://www.python.org/getit/

sqlite3的development libraries(以及readline,ssl等其他模块)need to be installed before compiling Python from source. Python sqlite模块的C源代码包含在Python的源代码中。但是它需要存在sqlite3的开发文件才能编译。它不是一个单独的库,而是Python的一部分。

如果从源代码安装,则需要安装sqlite3的开发库。

sudo apt-get install libsqlite3-dev

在从源代码编译Python之前我应该​​安装哪些软件包/库? https://askubuntu.com/questions/21547/what-are-the-packages-libraries-i-should-install-before-compiling-python-from-so

sudo apt-get install libreadline-dev
sudo apt-get install libssl-dev

常见开发环境列表......

build-essential (obviously)
libz-dev        (also pretty common and essential)
libreadline-dev (or the Python prompt is crap)
libncursesw5-dev
libssl-dev
libgdbm-dev
libsqlite3-dev
libbz2-dev
liblzma-dev
tk-dev
libdb-dev
libncursesw5-dev
libreadline5-dev
libssl-dev
libgdbm-dev
libc6-dev
libsqlite3-dev

安装Python

tar xf Python-3.3.2.tar.xz
./configure
make
sudo make all install

答案 2 :(得分:1)

当我使用SQLAlchemy library时,

我的Python 3.4.1 ubuntu 12.04 上遇到了同样的问题。原因是正如其他人对此问题的建议,我的系统在编译和安装python 3.4.1之前没有安装开发包。所以我做了:

sudo apt-get install libsqlite3-dev

然后转到我提取的python源并按照此问题的答案中描述的步骤进行重新编译。然后我能够:

Python 3.4.1 (default)
[GCC 4.6.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>>

答案 3 :(得分:0)

sqlite3不是“python”包的一部分,你可以从中安装它 port:databases / py-sqlite3。因为没有特定的python3版本 在构建之前需要设置PYTHON_VERSION = python3.5的端口。 2.x和3.x版本的软件包可以和平共存。

make -C / usr / ports / databases / py-sqlite3 PYTHON_VERSION = 3.5 install