您好,登錄后才能下訂單哦!
Python3.7源碼在windows(VS2015)下的編譯和安裝
下載官方源碼,使用vs2015(WIN10SDK),最python3.7.0的源碼進行編譯,編譯出不同的版本(release,debug),并配置python的運行環境(環境變量的配置)。
測試環境介紹和準備
測試環境:
操作系統:windows10
Python版本:3.7.0
VS版本:vs2015社區版(免費)
相關工具下載:
VS版本vs2015社區版(免費)
win10SDK(安裝vs2015是可以選擇,如果沒有安裝則需要獨立安裝)
Python3.7.0 (源碼和安裝文件)
http://ffmpeg.club/python
1 下載python源碼
https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
http://www.ffmpeg.club/python
https://pan.baidu.com/s/1xcmlzYyhnXh2euuTjWg2Dg
2 下載并安裝VS2015 社區版(免費,但需要注冊用戶)
http://www.ffmpeg.club/tools_download.html
如果VS2015安裝不成功會提示如下
Cannot locate MSBuild.exe on PATH or as MSBUILD variable
3 解壓python源碼進入到pcbuild目錄
4 運行build安裝nuget
運行build批處理 會先下載nuget包管理開發工具到 externals目錄中
由于網絡狀況不同(測試移動網絡可以下載,電信不可以),在部分網絡情況下可能無法下載,你可以手動下載后放到源碼的externals中,或者直接用我提供的已經下載好nuget和依賴的python源碼包
5 下載安裝python運行環境
如果已經有了就不需要安裝,但要注意后面編譯擴展庫的時候容易出現沖突的情況,你要知道是應為系統中還有其他python庫的原因。
6 下載安裝win10SDK
項目配置=》配置屬性=》常規=》目標平臺版本默認是win10
如果你沒有安裝win10sdk 需要將所有項目的目標平臺版本改為你的編譯器支持的版本(比如win8.1)
http://www.ffmpeg.club/tools_download.html
7 下載依賴源碼
由于網絡狀況不同,在部分網絡情況下可能無法下載,你可以手動下載后放到源碼的externals中,或者直接用我提供的已經下載好nuget和依賴的python源碼包
bzip2-1.0.6
openssl-bin-1.1.0h
sqlite-3.21.0.0
tcltk-8.6.8.0
xz-5.2.2
zips
zlib-1.2.11
下載路徑 www.ffmpeg.club/py
8 編譯python源碼
資源編輯器
TRACKER : 錯誤 TRK0005: 未能找到: “rc.exe”。系統找不到指定的文件。
C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x86
set PATH=%PATH%;C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x86
完成編譯,編譯好的python執行文件和依賴庫都在
F:\Python-3.7.0\PCbuild\win32 目錄下
build -c Release -p x64
build -c Release -p Win32
build -c Debug -p x64
build -c Debug -p Win32
默認32位
9 安裝python
首先我的python源碼路徑在 F:\Python-3.7.0\
編譯完后,會在F:\Python-3.7.0\ 目錄下面生成一個python.bat文件,直接運行此文件即可。
如果要將python.exe配置到path中,在windows的path環境變量中添加: F:\Python-3.7.0\PCbuild\win32 ,同時還需要配置 PYTHONHOME 環境變量,設置為F:\Python-3.7.0\,這個涉及到擴展庫的讀取路徑,不設置后面調用擴展庫可能會出問題。
10 最后我們測試一下
import sys
sys.path
打印出python系統路徑,看下設置是否生效
Python&C/C++聯合編程實戰視頻課程
http://edu.51cto.com/course/15278.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。