Как я могу обновить sqlite3 пакет в Python 2.6?

Я использовал Python 2.6.5 для создавания моего приложения, которое шло с sqlite3 3.5.9. По-видимому, хотя, поскольку я узнал в другом вопросе, моя поддержка внешнего ключа не была представлена в sqlite3 до версии 3.6.19. Однако Python 2.7 идет с sqlite3 3.6.21, таким образом, эта работа - я решил, что хотел использовать внешние ключи в своем приложении, таким образом, я пытался обновить до python 2.7.

Я использую скрученный, и я не мог ни за что в жизни заставить это создавать. Скрученный полагается на zope.interface, и я не могу найти zope.interface для python 2.7 - я думал, что он мог бы просто "работать" так или иначе, но я должен буду просто скопировать все файлы по мне и получить все работа самому, вместо того, чтобы просто использовать пакеты самоустановки.

Таким образом, я думал, что могло бы быть более мудро просто восстановить python 2.6 и связать его против новой версии sqlite3. Но я не знаю как-

Как я сделал бы это?

Мне установили Visual Studio 2008 как компилятор, я считал, что это - единственное, которое действительно поддерживается для Windows, и я выполняю операционную систему на 64 бита

9
задан Carson Myers 27 October 2010 в 04:03
поделиться

3 ответа

sqlite3 не является встроенным модулем; это модуль расширения (двоичный файл - C:\Python26\DLLs_sqlite3.pyd (на моей машине)). pyd - это DLL с другим расширением имени файла и только одной точкой входа. Существует также sqlite3.dll, которая содержит код SQLite. python.exe не связан ни с одной из этих библиотек, и поэтому перестраивать python.exe не имеет смысла.

Следующая идея - пойти на сайт загрузки pysqlite2 и получить последнюю версию программы установки Windows для Python 2.6. К сожалению, там нет документации о том, какую версию SQLite он содержит; нужно установить его, а потом уже разбираться:

>>> import sqlite3 as standard
>>> from pysqlite2 import dbapi2 as latest
>>> for m in (standard, latest):
...    print m.sqlite_version
...
3.5.9
3.6.2
>>>

Итак, он содержит только SQLite версии 3.6.2, которая не имеет реальной поддержки внешних ключей, которая вам нужна.

Я предлагаю вам проверить список рассылки, чтобы увидеть, есть ли там ответ на ваш вопрос, и если нет, то спросить о возможности установки Python 2.6, содержащего более поздний SQLite (например, тот, который включен в Python 2.7).

3
ответ дан 4 December 2019 в 21:08
поделиться

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

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

1
ответ дан 4 December 2019 в 21:08
поделиться

Загрузите последнюю версию sqlite3.dll с веб-сайта sqlite и замените sqlite3.dll в каталоге python.

6
ответ дан 4 December 2019 в 21:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: