ImportError:python3.3中没有名为'_sqlite3'的模块

Dro*_*oid 11 sqlite django python-3.3

sqlite3错误

import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.3/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "/usr/local/lib/python3.3/sqlite3/dbapi2.py", line 26, in <module>
    from _sqlite3 import *
ImportError: No module named '_sqlite3'
Run Code Online (Sandbox Code Playgroud)

我使用sqlite3安装命令

pip install pysqlite
Downloading/unpacking pysqlite
  Downloading pysqlite-2.6.3.tar.gz (76kB): 76kB downloaded
  Running setup.py egg_info for package pysqlite
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/usr/local/lib/python3.3/codecs.py", line 300, in decode
        (result, consumed) = self._buffer_decode(data, self.errors, final)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 98: invalid continuation byte 
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/usr/local/lib/python3.3/codecs.py", line 300, in decode

    (result, consumed) = self._buffer_decode(data, self.errors, final)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 98: invalid continuation byte

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/pysqlite
Storing complete log in /root/.pip/pip.log
Run Code Online (Sandbox Code Playgroud)

Ans*_*sht 21

我是Fedora 20用户.要解决这个问题:

  1. 使用以下命令安装sqlite-devel包:

    yum install sqlite-devel
    
    Run Code Online (Sandbox Code Playgroud)
  2. 安装完成后,使用以下命令从源代码重新编译python:

    ./configure
    make && make install
    
    Run Code Online (Sandbox Code Playgroud)

对于多个版本的Python,请使用altinstall而不是install.

  • 我不知道为什么这有两个downvotes.它解决了CentOS 5.11上的问题. (2认同)
  • 配置文件在哪里?我试过`find/*/python*/conf*`但什么都没发现. (2认同)

wcc*_*526 9

我认为一定是你不能安装sqlite3,你可以这样做

 apt-get install sqlite3  
 sqlite3 -version  
 apt-get install python-pysqlite2  
 apt-get install python-pysqlite2-dbg  
 apt-get install libsqlite3-dev   
 apt-get install sqlite  
 pip install pysqlite 
Run Code Online (Sandbox Code Playgroud)

然后你会找到sqlite3

  • 它工作python2.7但不工作python3.x (9认同)

R.L*_*Liu 6

对于 Ubuntu 中的 Python3:

  • sudo apt-get install libsqlite3-dev
  • wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz (用你的python3版本替换版本号)
  • tar -xf Python-3.6.3.tar.xz
  • cd Python-3.6.3/
  • ./configure --enable-loadable-sqlite-extensions && make && sudo make install

参考:https : //github.com/sloria/TextBlob/issues/173

  • 请注意,不建议使用“make install”,因为它可能会覆盖系统的 Python 版本,并且某些软件包可能依赖于特定版本。建议使用“make altinstall”不覆盖/usr/bin/python3,而是将其安装到/usr/local/bin/python3。有关详细信息,请参阅 https://docs.python.org/3.7/using/unix.html#building-python ! (2认同)

小智 5

编译包有点少,你应该用yum安装这5个,然后重新编译安装python3

yum install readline-devel
yum install tk-devel
yum install tcl-devel  
yum install openssl-devel   
yum install sqlite-devel 
Run Code Online (Sandbox Code Playgroud)

然后重新编译python3

tar Jxvf  Python-3.5.0.tar.xz
cd Python-3.5.0
./configure --prefix=/usr/local/python3
make && make install
Run Code Online (Sandbox Code Playgroud)