要做一些python的嵌入和扩展工作。先编译一个python 3.97。其实在2007年的时候,就做过python的扩展和嵌入工作。那时候编译的还是python 2.4.2。不过当时怎么搞的,早就忘了,重新搞吧。
下面记录一下这次 编译python 3.97 的步骤
1、机器上装好vs2017和python3。
2、官网 https://www.python.org/ ,下载 源代码文件 Python-3.9.7.tar.xz 解压。
3、启动 vs 2017 x64 命令行 提示。进入代码 Python-3.9.7\PCbuild 目录 ,运行build.bat 。然后就在Python-3.9.7\PCbuild\amd64下编好了一个release 版本。
完毕
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.29
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>cd /D F:\work\python\python-397\Python-3.9.7\PCbuild
F:\work\python\python-397\Python-3.9.7\PCbuild>build.bat
这个build.bat 主要就干下面两件事
1. 调用 get_externals.bat 下载第三方的源代码和库
Downloading nuget...
Installing Python via nuget...
。。。
Fetching external libraries...
Fetching bzip2-1.0.6...
Fetching sqlite-3.35.5.0...
Fetching xz-5.2.2...
Fetching zlib-1.2.11...
Fetching external binaries...
Fetching libffi-3.3.0...
Fetching openssl-bin-1.1.1l...
Fetching tcltk-8.6.9.0...
Finished.
2. 调用 vs2017 编译 Python-3.9.7\PCbuild\pcbuild.proj
F:\work\python\python-397\Python-3.9.7\PCbuild>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe" "F:\work\python\python-397\Python-3.9.7\PCbuild\pcbuild.proj" /t:Build /m /nologo /v:m /clp:summary /p:Configuration=Release /p:Platform=x64 /p:IncludeExternals=true /p:IncludeCTypes=true /p:IncludeSSL=true /p:IncludeTkinter=true /p:UseTestMarker= /p:GIT="C:\Tools\Git\cmd\git.exe"
所以 也可以这么干 , 调用 get_externals.bat 下载好第三方 ,启动 vs2017 IDE , 打开 Python-3.9.7\PCbuild\pcbuild.sln ,在 IDE 里面编译即可。