2009-09-22 3 views
10

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

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

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

+0

Можете ли вы сказать, какую версию питона у вас есть и то, что платформа вы на? – quamrana

+0

Право, мы не можем получить гораздо больше, не зная специфики платформы, включая ОС и CLI. (Linux и какой конкретный Linux-дистрибутив Windows, но какой CLI?) – DigitalRoss

+0

Моя платформа: CentOS release 5.3 (Final). – Verrtex

ответ

0

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

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

18

Debian/Ubuntu:.

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

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

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

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

+0

Я получаю: apt-get: команда не найдена – Verrtex

+0

На какой платформе вы работаете? И какой CLI? – DigitalRoss

+0

Моя платформа: выпуск CentOS 5.3 (Final). У меня есть Python-2.6.2 – Verrtex

7

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

$ Sudo ням установить SQLite-разви