項目上要用mitmproxy庫,但在python3.5下面用pip install mitmproxy一直安裝不上,報錯xmlversion.h找不到的問題,以及vcvarsall.bat找不到的問題。
終於一一破解,成功地在python3.5下面安裝好了mitmproxy。但項目進行過程中,又需要用到PyQt,但又沒有針對python3.5.1的PyQt5,只有針對python3.4版本的。
處女座的我實在無法忍受刪掉python3.5.1,轉而去安裝python3.4的版本,索性切回python2.7。但python2.7只好用PyQt4,這又是一個不完美的配置,但也就這么將就着了。
今天終於有空來處理這個問題,於是下載了:
- vs2013.5_ce_enu.iso
- qt-opensource-windows-x86-msvc2013_64-5.5.1.exe
- sip-4.17.zip(PyQt5的編譯依賴於sip包)
- PyQt-gpl-5.5.1.zip
1. 首先安裝qt,然后再安裝vs2013。用vs2013的原因是因為qt5.5.1的庫都是2013編譯出來的,用vs2015在編譯PyQt5.5.1時會出現__MSC_VER版本不匹配的錯誤。
2. 編譯sip
- 進入vs2013的64位native命令行(會自動設置好所有INCLUDE,PATH和LIB環境變量)
- 進入virtualenv的python環境(用Scripts下的activate腳本激活)
- cd sip目錄
- 運行python configure.py
- 發現依賴python35.lib,在當前環境下set LIB=%LIB%C:\Python\libs(看你的安裝位置來調整路徑)
- 再次運行python configure.py
- nmake 編譯成功
此時,我們就有了sip.exe,sip.h,sip.lib這幾個文件。
3. 編譯PyQt5.5.1
- 進入vs2013的64位native命令行(會自動設置好所有INCLUDE,PATH和LIB環境變量)
- 進入virtualenv的python環境(用Scripts下的activate腳本激活)
- 切換到PyQt5.5.1 目錄
- 運行python configure.py --sip=\path\to\sip.exe --sip-incdir=\path\to\sip.h
- nmake
- nmake install(有點漫長)
搞定,所有的PyQt5將被安裝到你的python的site-packages下面。
