2012-02-20 99 views
2

可能还有类似的其他问题,但在我的特殊情况下,我没有超级用户(sudo)访问机器,并且我已经在本地安装了Python 2.7。Python 2.7没有名为_sqlite3的模块(没有root权限访问机器,本地安装python)?

>>> 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 
>>> 

UPDATE:当我运行./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 
+1

如果你编译了python,你可能忘记了sqlite库吗? – Marii 2012-02-20 15:24:59

回答

2

这发生在我最近。你需要apt-get install libsqlite3-dev(在Debian上 - sqlite-devel可能在其他地方)并重新编译python。

+2

你在这里看到的(没有根访问) – prongs 2012-02-20 15:52:00

+0

,你将需要找到如果可能,库的二进制和手动把它们的地方,蟒蛇可以拾取它们编译 – 2012-02-20 16:04:02

-2

尝试增加sudo命令apt-get install libsqlite3-dev之前摆脱“无根访问权限”,即在终端

,写:

sudo apt-get install libsqlite3-dev 
+4

是的,如果你有sudo访问sudo的只能当...... – prongs 2012-02-20 16:07:22

1

如果第一./configure sqlite3的一个--prefix选项,然后makemake install,然后编译Python的时候使用同一--prefix,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 
相关问题