2010-11-04 46 views
0

首先,我不知道這是否在stackoverflow或其他相關網站之一。 所以,我有我的系統上的API,並使用python 2.6 32位。我的朋友使用Python 64位,當我試圖在他的系統上安裝apsw時,我們得到了許多錯誤,這取決於我們如何安裝它。首先,通過exe安裝給我們一個「這個應用程序不是有效的win32程序」當我們從我的系統手動安裝它時,我們得到了一個「ImportError:DLL加載失敗:%1不是有效的Win32應用程序」。而且我們也有一些使用sqlite3.dll和sqlite3.lib構建模塊的複雜問題。奇怪的錯誤,幫助朋友安裝apsw

回答

4

披露:我是APSW筆者

的APSW網站包括爲什麼要使用APSW在pysqlite整個頁面上市的原因。另外請注意,標準庫中包含的pysqlite甚至比當前的pysqlite代碼還要舊。

目前我只提供32位Pythons編譯Windows APSW擴展。如果您將它們安裝到不同的目錄中,則可以在64位Windows上運行32位和64位Python。但是,擴展的位數必須與您使用的Python的位數相匹配。

您的短期解決方案是在64位機器上安裝32位Python。或者,你可以自己編譯一個64位擴展。在理論上,這是從http://www.microsoft.com/express/Downloads/#2008-All(注意使用2008年版本沒有2010版)安裝Visual Studio 2008 Express中,從下載http://code.google.com/p/apsw/downloads/list的APSW源壓縮,然後運行簡單python setup.py fetch --all build --enable-all-extensions install

編輯(2010年 - 11月 - 07)如果你有Visual Studio 2008專業版安裝,那應該只是工作。 Express最初並沒有包含64位編譯器,儘管它們現在已經包含在內,但是Python的distutils和VS 2008的其餘大部分並不知道它們。給我發電子郵件,如果你想自己做這個構建,我會提供更詳細的信息。下一個APSW版本將包括適用於Python 2.6及更高版本的Windows 64位二進制文​​件,包括Python 3系列。

編輯(2010年 - 12月15)APSW 3.7.4-R1現在包括官方64位Windows二進制文件下載過的http://code.google.com/p/apsw/downloads/list

+0

哇,我很高興我的問題得到了製造商本人的答覆。感謝您的信息! – Varriount 2010-11-04 15:51:05

+1

甚至比我今天出去購買Windows 7升級更好,因此很有可能在不久的將來會有64位Windows二進制文件。 – 2010-11-05 05:12:31

2

32位和64位二進制文​​件是不同的動物,只有當你知道你在做什麼時纔可以混合。 你有沒有嘗試在朋友的機器上安裝python 2.6 32-bit?

爲什麼使用apsw代替標準庫sqlite3?

+0

我使用一些特定的只有APSW功能。爲什麼我會使用它? – Varriount 2010-11-04 05:38:21