關於 ImportError: No module named _sqlite3 報錯解決方法


今天碰到一個小問題,virtualenv的環境竟然無法import sqlite3

報錯信息如下:

#python
Python 2.7.9 (default, Feb 10 2015, 01:40:34) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/root/.pyenv/versions/2.7.9/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/root/.pyenv/versions/2.7.9/lib/python2.7/sqlite3/dbapi2.py", line 28, in <module>
    from _sqlite3 import *
ImportError: No module named _sqlite3

谷歌了一下,原因是安裝了多套python環境,virtualenv使用的那套python沒有_sqlite3.so這個文件。
沒用virtualenv的時候,使用的是另外一套python_sqlite3.so,所以解決方法是先安裝sqlite-devel
然后重新編譯virtualenv使用的那套python,操作步驟如下,因為我使用的pyenv,所以是連帶virtualenv一起安裝的。

1.先退出virtualenvpython環境,安裝sqlite-devel

#yum -y install sqlite-devel  

2.重新安裝pyenv

#curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

3.刪掉原有的python環境

#pyenv uninstall 2.7.9

4.重新安裝python

#pyenv isntall 2.7.9

5.測試一下

#python
Python 2.7.9 (default, Feb 10 2015, 01:40:34) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM