pip install pysqlite导致以下错误:command' x86_64-linux-gnu-gcc'退出状态1和`#include" sqlite3.h"`失败了

时间:2015-06-17 19:33:47

标签: gcc pip pysqlite

pip install pysqlite失败,并输出以下错误日志:

➜  ~  pip install pysqlite
Collecting pysqlite
  Using cached pysqlite-2.6.3.tar.gz
Installing collected packages: pysqlite
  Running setup.py install for pysqlite
    Complete output from command /home/nathan/.virtualenvs/tox/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-KwYD65/pysqlite/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-K7uywC-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/nathan/.virtualenvs/tox/include/site/python2.7/pysqlite:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/pysqlite2
    copying lib/__init__.py -> build/lib.linux-x86_64-2.7/pysqlite2
    copying lib/dump.py -> build/lib.linux-x86_64-2.7/pysqlite2
    copying lib/dbapi2.py -> build/lib.linux-x86_64-2.7/pysqlite2
    creating build/lib.linux-x86_64-2.7/pysqlite2/test
    copying lib/test/types.py -> build/lib.linux-x86_64-2.7/pysqlite2/test
    copying lib/test/userfunctions.py -> build/lib.linux-x86_64-2.7/pysqlite2/test
    copying lib/test/transactions.py -> build/lib.linux-x86_64-2.7/pysqlite2/test
    copying lib/test/factory.py -> build/lib.linux-x86_64-2.7/pysqlite2/test
    copying lib/test/hooks.py -> build/lib.linux-x86_64-2.7/pysqlite2/test
    copying lib/test/__init__.py -> build/lib.linux-x86_64-2.7/pysqlite2/test
    copying lib/test/regression.py -> build/lib.linux-x86_64-2.7/pysqlite2/test
    copying lib/test/dump.py -> build/lib.linux-x86_64-2.7/pysqlite2/test
    copying lib/test/dbapi.py -> build/lib.linux-x86_64-2.7/pysqlite2/test
    creating build/lib.linux-x86_64-2.7/pysqlite2/test/py25
    copying lib/test/py25/__init__.py -> build/lib.linux-x86_64-2.7/pysqlite2/test/py25
    copying lib/test/py25/py25tests.py -> build/lib.linux-x86_64-2.7/pysqlite2/test/py25
    running build_ext
    building 'pysqlite2._sqlite' extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/src
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DMODULE_NAME="pysqlite2.dbapi2" -DSQLITE_OMIT_LOAD_EXTENSION=1 -I/usr/include/python2.7 -c src/module.c -o build/temp.linux-x86_64-2.7/src/module.o
    In file included from src/module.c:24:0:
    src/connection.h:33:21: fatal error: sqlite3.h: No such file or directory
     #include "sqlite3.h"
                         ^
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
Command "/home/nathan/.virtualenvs/tox/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-KwYD65/pysqlite/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-K7uywC-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/nathan/.virtualenvs/tox/include/site/python2.7/pysqlite" failed with error code 1 in /tmp/pip-build-KwYD65/pysqlite
 ➜  ~

快速浏览一下stackoverflow村的其他部分,发现了这个:

"error: command 'x86_64-linux-gnu-gcc' failed with exit status 1" in virtualenv

看起来很相似,但与sqlite没什么关系。无论如何,那里提供的解决方案无法解决这个问题。

我使用sudo apt-get install sqlite安装了sqlite,使用sudo apt-get instal sqlite3安装了sqlite3,并使用sudo apt-get install sqlitebrowser安装了sqlitebrowser。

enter image description here

zsh autocomplete为sqlite提供了其他几个选项,但它们大多看起来像文档或不相关的专用扩展。

我使用Aptitude搜索了可能的其他依赖项,如下所示(aptitude search sqlite): http://0bin.net/paste/-uv52OUbPGa5t-RJ#6VI1bgLbKqdhTUwBue0pO9yF63F3yfF++GtozB0ZI7S

我不认为下载列表并安装任何图书馆都是明智之举,每次都在尝试,当我确定其他人之前遇到过这个问题时。

PySQLite文档似乎也没有关于Debian依赖关系的大量信息。 https://readthedocs.org/search/project/?q=dependency&selected_facets=project_exact%3Apysqlite

我的理论是我只需要合适的图书馆。如果您不知道正确的答案,请随时评论如何更有效地开始搜索。

如何修复command 'x86_64-linux-gnu-gcc' failed with exit status 1的gcc编译步骤中的#include "sqlite3.h" ... pip install pysqlite错误?

1 个答案:

答案 0 :(得分:-3)

尝试通过pip安装sqlite3

pip install sqlite3

让我们看看是否有诀窍。