Что такое заголовочные файлы разработки sqlite и как их устанавливать? - PullRequest
11 голосов
/ 23 сентября 2009

Я пытаюсь установить pysqlite и у меня проблемы с этим. Я обнаружил, что наиболее вероятная причина этого - отсутствие заголовочных файлов sqlite, и я должен установить их.

Однако я понятия не имею, что это за заголовки (где я могу их найти, что они делают и как их установить).

Кто-нибудь, пожалуйста, может помочь мне с этим?

Ответы [ 3 ]

18 голосов
/ 23 сентября 2009

Debian / Ubuntu:

$ apt-get install libsqlite3-dev # or rpm -i sqlite-devel-something.rpm

Я думаю, что некоторые интерпретаторы просто перекомпилируют свои небольшие библиотеки подключений при установке, но для этого им нужны файлы C .h в дополнение к библиотеке, с которой можно ссылаться. Возможно, у вас уже есть библиотека, потому что от нее зависит что-то еще, но у вас не обязательно есть пакет dev, который находится на полпути между исходным и двоичным файлами.

Отчасти это просто, если вы собираетесь разрабатывать с библиотекой, вам нужны заголовки интерфейса.

Но я думаю, что произошло нечто большее, поначалу люди пробовали все исходные и все двоичные дистрибутивы, но все двоичные были уязвимы для ада зависимостей , а все исходные были излишними , Теперь я думаю, что используется интересный компромисс, дистрибутив с полуисточником, где программа ссылается на установленные библиотеки, перекомпилируя те его части, которые ссылаются на библиотеки расширений. Это имеет большой смысл в интерпретаторах, где большая часть системы может поступать в двоичном формате, но модули расширения динамически загружаются и компилируются для установленной системы. Я думаю.

7 голосов
/ 15 апреля 2011

Для меня это сработало (Redhat / CentOS):

$ sudo yum install sqlite-devel

0 голосов
/ 23 сентября 2009

pysqlite необходимо скомпилировать / собрать, прежде чем вы сможете его использовать. Это требует заголовочных файлов языка C (* .H), которые поставляются с исходным кодом самого sqllite.

т.е. sqllite и pysqlite - это две разные вещи. Вы установили sqlite до попытки сборки pysqllte? (или, может быть, вы сделали, но вы сделали это только с двоичными файлами; вам нужен пакет с исходным кодом (или, по крайней мере, его заголовки) для целей pysqlite.

...