Visual Studio 2017编译Python3.8.18源码

news/2024/7/16 7:28:47 标签: visual studio, ide

一直纠结Python的开发环境没有升级到最新版3.8.18。这是当前的最新版,正在用的版本3.8.10。他是官方制作出安装包的最新版。

1、准备Visual C++ 2017的开发环境包括但不限于使用C++的桌面开发+x64

2、在Python官网下载Python3.8.18的源码。

3、解压缩源码

4、进入控制台模式【VS 2017的开发人员命令提示符 】,注意必须是VS2017开发环境的模式

5、控制台模式进入源码根目录下的PCBuild子目录下

6、执行get_externals.bat。想要成功完成需要能访问github,我在校园网环境内。多访问几遍github或者访问它的镜像。都能成功访问github,假如能访问了立马执行get_externals.bat命令。几分钟就可以。

7、当前目录切换到【源码根目录\Tools\msi】

8、执行get_externals.bat

9、执行buildrelease.bat -x64 --out ..\..\Build。

假如没有安装git,将buildrelease.bat文件里面71,72行注释掉或这删除即可。会出

warning MSB3073:命令 "git name-rev --name-only HEAD > " .... 

git不是内部或外部命令也不是可运行的程序

不影响最后成功编译。

使用Visual Studio 2017打开【源码根目录\Tools\msi\bundle\bootstrap\pythonba.sln】,会提示升级【Windows SDK版本】和【平台工具集】按照默认选项后保存。关闭后重新执行编译命令

编译成功

会出现下面两行信息

Running PGInstrument|x64 interpreter...

0:00:00 Run tests sequentially

到发布文章已经过去30多分钟还没有任何反应。

在【源码根目录\PCbuild】目录下多了一个amd64文件夹,里面是刚刚编译成功的文件。

python.exe

python_d.exe

等等很多文件表明编译成功了。文件版本3.8.18150.1013

我的开发环境:

Windows 10 22H2

Visual Studio 2017 C++ 和 C#的开发环境。并经常使用

Visual Studio 2022 C++、C#和Python的开发环境。不经常使用

这里说个题外话,原先开发Python使用的IDE需要破解就不用了。进而使用Visual Stuido Code费了很大的劲也没用明白。使用Visula Studio 2022开发Python发现非常方便,而且调试和C++程序一样。彻底卸载Visual Studio Code!!!


http://www.niftyadmin.cn/n/5311038.html

相关文章

【Vue.js设计与实现阅读-1】

Vue设计与实现阅读-1 1、命令式和声明式2、性能3、虚拟DOM性能4、运行时和编译时5、总结 前言 最近工作清闲了些,想着很久没有看书,Vue.js设计与实现这本书看了好几次都没有读完,趁着这个机会边读边记录一下吧。如果有理解的不正确的地方&…

【OpenBMC】的内部README 模板

OpenBMC 本项目的AST2500分支核心代码的机型是ast2500-default,克隆代码后进入编译环境的命令为: source setup ast2500-default 一、源码下载、配置以及编译 重要:请参阅confluence 详细步骤 二、代码使用方法 目前所有自定义修改的代码…

盛元广通实验室业务流审批管理系统2.0

系统通过对取样、分析、数据处理、检验报告等分析全过程中多种影响因素的有效管理,强化检验质量,获得准确可靠的分析成果。业务流审批管理系统主要包括了检测管理、业务受理、样品管理、资源质量管理、分包管理、报告生成、统计分析等,系统能…

ME8206 电流模式准谐振 PWM 控制器 输出功率可达100W

描述: ME8206 是一个电流模式准谐振 PWM 控制器,在 85V-265V 的宽电压范围内提供高达 100W 的输出功率, 在大范围的负载和输入电压变化情况下确保谷底电压导通。 ME8206 采用高压启动设计,芯片直接连接到高压, 以提供芯…

Python学习之路——文件操作【综合案例】

创建employeeData文件,文件内容包含 现要求如下: 对正式工以及实习生的信息分别创建文件 和intern进行备份 具体操作如下: 由于文档内存在中文的逗号,先将其替换为英文的逗号 def func01(str):fr open(str, r, encodi…

将指定文件夹中的图片文件复制到另一个文件夹,并按照自然数递增的命名规则重命名的程序

文件目录结构 C:. ├─data │ ├─photos │ │ ├─1 │ │ ├─2 │ │ ├─3 │ │ ├─4 │ │ ├─5 │ │ ├─6 │ │ ├─7 │ │ └─8 │ └─photos_new │ ├─1 │ ├─2 │ ├─3 │ ├─4 │ ├─5 │ ├─6 …

C++ 模拟散列表 || 哈希表存储与查询,模版题(拉链法)

维护一个集合,支持如下几种操作: I x,插入一个整数 x ; Q x,询问整数 x 是否在集合中出现过; 现在要进行 N 次操作,对于每个询问操作输出对应的结果。 输入格式 第一行包含整数 N &#xff0c…

零售EDI:Metro EDI项目案例

麦德龙Metro 总部位于杜塞尔多夫,在全球范围内经营批发和零售业务。在2018/2019 财年,麦德龙Metro 的全球销售额约为 270 亿欧元。从2016年开始,麦德龙Metro就开始对其当时约230家门店和20,000多家分销合作伙伴进行数字化整合,借助…