PyQt5.5.1在Python3.5.1和Visual Studio 2013下的編譯


項目上要用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下面。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM