2011-06-22 72 views
4

我正在嘗試在Windows XP平臺上安裝M2Crypto。我的Python,easy_install的和SWIG安裝,但是當我試圖easy_install M2Crypto我得到如下:easy_install M2Crypto在Windows平臺上失敗

SWIG\_m2crypto.i(31) : Error: Unable to find 'openssl\opensslv.h' 
SWIG\_m2crypto.i(45) : Error: Unable to find 'openssl\safestack.h' 
SWIG\_evp.i(12) : Error: Unable to find 'openssl\opensslconf.h' 
SWIG\_ec.i(7) : Error: Unable to find 'openssl\opensslconf.h' 
error: Setup script exited with error: command 'swig.exe' failed with exit status 1 

我看過其他地方,人們已經提出easy_install openssl-devel,但只是告訴我,有沒有與發現包名稱。名稱可能區分大小寫(我嘗試了各種排列而沒有成功),還是這個建議不適用於Windows?

我不是M2Crypto的替代軟件。我選擇了一些現有的使用它的代碼,所以我需要讓我的開發環境能夠運行已經寫好的代碼。

+0

我還應該提到這是Python 2.7。 –

+0

您也可以從這裏下載並安裝M2Crypto的預編譯版本:http://chandlerproject.org/Projects/MeTooCrypto – AlexandruC

回答

3

有類似的問題。下載M2Crypto的源碼包和閱讀INSTALL文件後,我發現以下幾點:

Differences when installing on Windows 
-------------------------------------- 

Before building from source, you need to install OpenSSL's include files, 
import libraries and DLLs. By default setup.py assumes that OpenSSL include 
files are in ``c:\pkg\openssl\include``, and the import libraries 
in ``c:\pkg\openssl\lib``. As with other platforms, you can specify a different 
OpenSSL location with --openssl option to build_ext command. 
+0

感謝您的回覆。我還沒有機會檢查這一點,因爲我最終在非Windows機器上設置了開發環境。但是當我有時間時,我會放棄它。 –

8

由於周杰倫在他的回答說,你應該嘗試從源代碼編譯它。我試過了。 setup.py不識別--openssl選項。看着默認setup.py的輸出,我意識到搜索位置是c:\pkg而不是c:\pkg\openssl。 解決辦法:

  1. 下載,然後從Win32 OpenSSL
  2. 複製安裝OpenSSL中libinclude文件夾c:\pkg
  3. 檢查swig.exe可在您的路徑
  4. 運行easy_install M2Crypto

曾任職對我來說就像一個魅力。