Python 2.7 Нет модуля с именем _sqlite3 (нет корневого доступа к машине, python локально установлен)? - PullRequest
2 голосов
/ 20 февраля 2012

Могут быть и другие подобные вопросы, но, в моем конкретном случае, у меня нет доступа суперпользователя (sudo) к машине, и я установил локально Python 2.7.

>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/spicmacay/.local/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/home/spicmacay/.local/lib/python2.7/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: No module named _sqlite3
>>> 

ОБНОВЛЕНИЕ: Когда я запускаю ./configure&& make, я получаю:

make

running build
running build_ext
building dbm using gdbm
INFO: Can't locate Tcl/Tk libs and/or headers

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

running build_scripts

Ответы [ 4 ]

2 голосов
/ 04 января 2013

К этой проблеме также пришли .. исправлено путем компиляции Python и передачи заголовков / библиотек sqlite3 во время ./configure

Модуль Python 2.7.3 _sqlite3 не собирается после передачи заголовков / библиотек

Размещено на тот случай, если у кого-то еще возникнет эта проблема в будущем и у него нет доступа sudo к узлу.

1 голос
/ 13 ноября 2013

Если вы сначала ./configure sqlite3 с параметром --prefix, затем make и make install его, а затем используете тот же --prefix при компиляции Python, установка Python сможет волшебным образом найти и использоватьsqlite3 вы только что установили.

cd sqlite-autoconf-3080100
./configure --prefix=/home/xdanek7/appscale/local
make
make install
cd ../Python-2.7.6
./configure --prefix=/home/xdanek7/appscale/local
make
make install
1 голос
/ 20 февраля 2012

Это случилось со мной недавно. Вам нужно apt-get install libsqlite3-dev (в debian - sqlite-devel возможно в другом месте) и перекомпилировать python.

0 голосов
/ 20 февраля 2012

Попробуйте добавить sudo перед командой apt-get install libsqlite3-dev, чтобы избавиться от "NO root access"

т.е. на терминале, напишите:

sudo apt-get install libsqlite3-dev
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...