Visual Studio 2017编译Python3.8.18源码

2024-01-06 01:04

本文主要是介绍Visual Studio 2017编译Python3.8.18源码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一直纠结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!!!

这篇关于Visual Studio 2017编译Python3.8.18源码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/574722

相关文章

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操