Python3编译后缺少sqlite3

Bri*_*son 3 python sqlite compilation python-3.x

我的问题很像其他几个问题.手动编译Python后,缺少sqlite3:

在此输入图像描述

主要区别在于我使用的是Debian Linux系统(与此问题不同:OS X 10.8.2 python 3导入sqlite错误)和Python3(与此不同以及其他一些问题:无法用Python 2.6导入SQLite).

我希望得到一些指导来解决问题.根据一些Linux但旧版本的Python问题,我得到的错误可能是由链接期间缺少的资源引起的(_sqlite3.所以).我的系统上有两个这样的文件,它们都是旧的Python安装,但是没有任何与Python3相关的文件.或者其中一个足够好?或者他们说要安装libsqlite3-dev包,然后再重新编译Python.我这样做了,但我不知道如何在我的系统上使用这个包会影响编译过程.事实上,它没有.第二次编译给了我第二个没有sqlite3的Python.

我希望我能做到apt-get install python3,但Debian,在稳定性方面,只有Python 3.2,我需要最新版本.思考?

Tho*_*zco 9

在编译Python之前,您需要安装libsqlite3(基于Debian)或sqlite-devel(基于RedHat)和相关的头文件,因为Python需要在编译过程中找到它们.

你确定要运行:

  1. ./configure
  2. make
  3. make install

按此特定顺序?没有错过的步骤?

  • @Bepetersn这里的关键步骤是`./configure`.你应该检查它的输出sqlite3. (2认同)

wuk*_*ong 7

apt-get install libsqlite3-dev

然后

./configure --prefix=/opt/python3.7.4 --with-ssl --with-pydebug

make
make install
Run Code Online (Sandbox Code Playgroud)

注意:如果你正在编译 python3.7 apt-get install libssl-dev,你可能需要aslo,openssl 版本必须高于1.0.2

对我来说,我使用的是 ubuntu 14.04(值得信赖)我找不到一个libssl-dev包来满足编译带有 ssl 支持的 python3.7 的要求。我修改我的 /etc/apt/sourcelist.d

deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted
deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted
Run Code Online (Sandbox Code Playgroud)

安装新的 libssl-dev 后,将其改回原来的

deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted
Run Code Online (Sandbox Code Playgroud)