• 关于 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
    >>>
  • 相关阅读:
    java23种设计模式-结构型模式-适配器模式
    java23种设计模式-创建者模式-抽象工厂模式
    java23种设计模式-创建者模式-工厂模式
    从jvm运行数据区分析字符串是否相同
    Linux常见安全策略
    MySQL 报错案例分析
    Linux系统网络监控工具
    海量运维架构
    Linux运维面试技巧
    DBA机遇于风险并存
  • 原文地址:https://www.cnblogs.com/itflycat/p/4461897.html
Copyright © 2020-2023  润新知