Как установить pysqlite? - PullRequest
       58

Как установить pysqlite?

4 голосов
/ 19 сентября 2009

Я пытаюсь установить pysqlite (интерфейс Python для SQLite). Я скачал файл с пакетом (pysqlite-2.5.5.tar.gz). И я сделал следующее:

gunzip pysqlite-2.5.5.tar.gz
tar xvf pysqlite-2.5.5.tar
\cd pysqlite-2.5.5
python setup.py install

На последнем шаге у меня проблема. Я получаю следующее сообщение об ошибке:

error: command 'gcc' failed with exit status 1

Я обнаружил, что другие люди тоже имели эту проблему .

Насколько я понял у человека возникла проблема, потому что sqlite2 не был установлен. Но в моем случае у меня есть sqlite3 (я могу запустить его из командной строки).

Может быть, я должен изменить некоторые пути в "setup.cfg"? На данный момент у меня есть:

#define=
#include_dirs=/usr/local/include
#library_dirs=/usr/local/lib
libraries=sqlite3
define=SQLITE_OMIT_LOAD_EXTENSION

И если я наберу "which sqlite3", я получу:

/usr/bin/sqlite3

Я видел подобный вопрос здесь. Ответ был "вам нужен sqlite3-dev". Но, даже если это так, как проверить, есть ли у меня sqlite3-dev. А если у меня его нету как его получить?

Кто-нибудь может мне помочь с этой проблемой.

Заранее спасибо.

Ответы [ 11 ]

10 голосов
/ 02 октября 2013

В дистрибутивах Debian я исправил эту проблему с помощью

sudo apt-get install libsqlite3-dev
6 голосов
/ 29 августа 2013

Мне удалось устранить ту же ошибку сборки, установив пакет sqlite-devel:

sudo yum install sqlite-devel
4 голосов
/ 22 октября 2010

У меня была такая же проблема, я использую Python 2.4, ни sqlite3-dev, ни libsqlite3-dev не доступны для CentOS.

yum install python-devel

, кажется, решил проблему.

3 голосов
/ 19 сентября 2009

как проверить, есть ли у меня "sqlite3-dev"

Это полностью зависит от того, какой дистрибутив Linux вы используете - это Fedora, Suse, Ubuntu, Gentoo, Mandrake или какой-либо другой из десятков существующих; Есть несколько стратегий упаковки и инструменты, используемые для проверки, какие пакеты есть, получить больше и т. д.

Поэтому никогда не задавайте вопросов о проверке, получении или настройке пакетов в Linux без указания интересующего вас дистрибутива - это делает практически невозможным предоставление точной, конкретной помощи.

Редактировать : самый простой из известных мне способов получения информации о вашем дистрибутиве Linux (работает на всех, которые у меня под рукой, но у меня нет особенно широкого массива ...; -):

$ cat /etc/*-release
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.2"
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
...etc, etc...

Вероятно, это будет содержимое файла /etc/lsb-release, но я предлагаю *-release, потому что я думаю, что могут быть и другие подобные файлы.

Конечно, если необходимость проверки вашего дистрибутива применяется внутри файла или программы, чтение этого файла (или файлов) и поиск определенного содержимого также будут вполне осуществимы; но для того, чтобы проинформировать потенциальных помощников о том, какой дистрибутив вы используете, cat в приглашении оболочки будет вполне достаточно; -).

2 голосов
/ 09 апреля 2012

Вместо этого вы можете использовать yum или apt-get первый тип:

    sudo yum(or apt-get) search python-sqlite3

вы получите что-то вроде python-sqlite3dbm.noarch

затем введите:

    sudo yum(or apt-get) install python-sqlite3dbm.noarch

таким образом ваша ОС установит все необходимое для вас, и вы не получите ошибок

2 голосов
/ 19 сентября 2009

Какая версия Python у вас есть? SQLite интегрирован в Python с версии 2.5:

http://docs.python.org/library/sqlite3.html

Если вы настаиваете на том, чтобы скомпилировать его самостоятельно, пакет называется sqlite3-devel, вы можете найти его, например. здесь

1 голос
/ 05 мая 2011

У меня были следующие ошибки компиляции на CentOS выпуск 5.6 :

src/cache.h:34: error: expected specifier-qualifier-list before 'PyObject_HEAD'
src/cache.h:44: error: expected specifier-qualifier-list before 'PyObject_HEAD'
src/cache.h:61: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'pysqlite_NodeType'
src/cache.h:62: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'pysqlite_CacheType'
src/cache.h:64: error: expected declaration specifiers or '...' before 'PyObject'
src/cache.h:64: error: expected declaration specifiers or '...' before 'PyObject'
src/cache.h:67: error: expected declaration specifiers or '...' before 'PyObject'
src/cache.h:67: error: expected declaration specifiers or '...' before 'PyObject'

Установка python-devel мне тоже помогла:

yum install python-devel

0 голосов
/ 30 июля 2018

необходимо установить плагин в http://yum.baseurl.org/download/yum-metadata-parser/

wget -c "http://yum.baseurl.org/download/yum-metadata-parser/yum-metadata-parser-1.1.4.tar.gz"

затем установите

tar zxf yum-metadata-parser-1.1.4.tar.gz && cd yum-metadata-parser-1.1.4
/path/to/python setup.py install
0 голосов
/ 04 сентября 2012

Вы установили Python sqlite lib?

sudo apt-get install python-sqlite
0 голосов
/ 10 мая 2010

У меня была такая же проблема с сбоями gcc в Ubuntu Karmic. Я исправил это, установив пакет python-dev. В моем случае я работаю с python2.4, поэтому я установил пакет python2.4-dev. Пакет python-dev должен работать для python2.6.

...