2012-11-06 16 views
5

İyi günler.python 2.7.3 ve pysqlite2 kullanarak sqlite3 sürümünü yükseltin 2.6.3

Son zamanlarda python ve sqlite öğreniyorum ve en son sqlite3 (3.7.14.1) sürümünü yüklemede sorun yaşıyorum. Windows 7'de python 2.7.3 kullanıyorum ve windows installer'ı kullanarak en son pysqlite2 sürümünü (2.6.3) yükledim. Ben sürümlerini pysqlite'ı ithal ve kontrol için aşağıdaki kodu kullanmış ve bu sonuçlar şöyledir: Kod dayanarak

>>> from pysqlite2 import dbapi2 as sqlite3 
>>> sqlite3.version 
'2.6.3' 
>>> sqlite3.sqlite_version 
'3.7.6.2' 

yukarıda kullanılan Sqlite3 versiyonu tek bir yaşlıdır. En son sqlite3.dll dosyasını indirdim ve Python27 \ DLLs \ dizininde bulunanın üzerine yazdım. Ama sqlite3.sqlite_version çalıştırdığımda, hala eski sürümü veriyor. Ancak, varsayılan python sqlite3 modülünü kullanırken, modülün (2.6.0) eski bir sürümünü ve kopyaladığım sqlite3.dll dosyasının son sürümünü gösterir.

>>> import sqlite3 
>>> sqlite3.version 
'2.6.0' 
>>> sqlite3.sqlite_version 
'3.7.14.1' 

Sorum, nasıl pySqlite2 2.6.3 en Sqlite3 3.7.14.1 yükseltebilirim edilir: Aşağıdaki kodu görüyor musunuz? Biri bana yardım edebilir mi?

Teşekkür ederiz.

cevap

6

sqlite3_sqlite.pyd içine derlenmiş içerir muhtemelen here döndüm pysqlite2 yükleyici, bu (yani tek tek sqlite3 modülü tarafından uset edilir) dll dizininde bulunan dll kullanmaz.

Kullanılan sqlite sürümünü yükseltmek isterseniz, pysqlite2'u kendiniz yeniden derlemeniz gerekir. pysqlite2 olarak

Veya, sqlite3 neredeyse aynıdır, ayrıca sadece conaining bir dosya pysqlite2.py ile tam paketinin yerine olabilir: cevap için

from sqlite3 import * 
+0

teşekkür ederiz. Yani, sqlite3.dll _sqlite.pyd kaynağından derlenmiştir. Pysqlite2 derlemek için, denedim ama bir hata alıyorum. Sqlite3 kaynağını derlemek için bir c derleyicisine sahip olmayan bir şey olabilir. Bir c derleyicisini kurmaya çalışacağım ve aynı hatayı alırsam tekrar deneyeceğim. –

+0

İkinci seçenek olarak, pysqlite2 dizininin tüm içeriğini silmek ve bir pysqlite2.py yerleştirmek mi demek istiyorsunuz? Evet, tam olarak –

+0

. Bu şekilde, pysqlite2 yerine sqlite3 kullanırsınız, bu da ikincisini içe aktarma modülleriyle geriye dönük uyumluluk sağlar. – mata