1. 程式人生 > >Python3.7原始碼在windows(VS2015)下的編譯和安裝

Python3.7原始碼在windows(VS2015)下的編譯和安裝

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/1xcmlzYyhnXh1euuTjWg2Dg

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++聯合程式設計實戰視訊課程

https://edu.csdn.net/course/detail/9701