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 (源码和安装文件)
 
1 下载python源码
2 下载并安装VS2015 社区版(免费,但需要注册用户)
如果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)
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系统路径,看下设置是否生效
 
 相关视频教程可以观看

Python3.7源码在windows(VS2015)下的编译和安装的更多相关文章

  1. JVM(一) OpenJDK1.8源码在Ubuntu16.04下的编译

    笔者最近在学习周志明老师编写的<深入理解Java虚拟机>一书,书中第一章的实战部分就是"自己编译JDK",不过书中提到的是OpenJDK 7的编译.由于现在Java开发 ...

  2. 个人从源码理解JIT模式下angular编译AppModule的过程

    承接上文.笔者之前将一个angular项目的启动过程分为了两步: 创建平台得到 PlatformRef ,以及执行平台引用提供的方法编译根模块 AppModule .本文就将着眼于创建好的平台,从an ...

  3. [Dynamic Language] Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录

    Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录 源码安装时报错 File "/home/abeenser ...

  4. netcdf源码在windows上的编译

    作者:朱金灿 来源:http://blog.csdn.net/clever101 今天搞搞netcdf源码在windows上的编译,折腾了半天,算是搞成了,特地记录一下过程.我的目标是要生成netcd ...

  5. 【转】python:让源码更安全之将py编译成so

    python:让源码更安全之将py编译成so 应用场景 Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,使用其开发产品快速高效. python的解释特性是将py编译为独有的二 ...

  6. Openfire4源码部署到eclipse中并编译

    Openfire4源码部署到eclipse中并编译 概述 Openfire是众所周知的基于xmpp协议的IM开源服务,所有操作,配置,监控,调试等以B/S方式进行展示,非常的方便管理员进行管理.它的强 ...

  7. mybatis源码专题(1)--------复习jdbc操作,编译mybatis源码,准备为你的简历加分吧

    本文是作者原创,版权归作者所有.若要转载,请注明出处.文章中若有错误和疏漏之处,还请各位大佬不吝指出,谢谢大家. 1.mybatis的底层是jdbc操作,我们来回顾一下,如下  运行以后的结果如下图: ...

  8. CentOS6.9下手动编译并安装Python3.7.0

    CentOS6.9默认安装的python版本为2.6.6,若想安装python3以上版本,只能手工编译安装 下面介绍Python-3.7.0版本的手动编译并安装的步骤 1.下载Python-3.7.0 ...

  9. Windows 10下mysql 64位 安装(mysql-5.7.11-winx64安装)

    Windows下mysql 64位 安装(mysql-5.7.11-winx64安装) 系统Windows10 安装包mysql-5.7.11-winx64.zip 安装过程中遇到的问题,请留意4.0 ...

随机推荐

  1. WinDbg调试C#技巧,解决CPU过高、死锁、内存爆满

    软件安装 安装问题:执行 .loadby sos clr 命令无效 解决办法: .load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dl ...

  2. C#语法——反射,架构师的入门基础。

    前言 编程其实就是写代码,而写代码目的就是实现业务,所以,语法和框架也是为了实现业务而存在的.因此,不管多么高大上的目标,实质上都是业务. 所以,我认为不要把写代码上升到科学的高度.上升到艺术就可以了 ...

  3. DSAPI QQ用户相关

    获取指定QQ号头像 Label1.Image=DSAPI.QQ用户相关.下载QQ头像("20353841") 获取指定QQ群头像 Label1.Image = DSAPI.QQ用户 ...

  4. asp.net三层架构增删改查

    数据库 use master if exists (select * from sysdatabases where name='bond') drop database bond create da ...

  5. 一个简易的Python爬虫,将爬取到的数据写入txt文档中

    代码如下: import requests import re import os #url url = "http://wiki.akbfun48.com/index.php?title= ...

  6. 海康&大华&DSS视频拉流-RTSP转RTMP多媒体播放技术

    海康&大华&DSS获取RTSP 实时流 海康:rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/ ...

  7. 学习笔记—log4j2

    概念 什么是日志 日志是系统运行过程中的后台输出信息,方便程序员进行系统运行的管控以及Bug的查找. log4j2的概念 log4j2是一个日志输出的插件,专门用来进行日志的管理. Log4j是Apa ...

  8. 学习day03

    1.结构标记  *****   做布局    1.<header>元素    <header></header>    ==> <div id=&quo ...

  9. 《JavaScript高级程序设计》笔记:使用Canvas绘图(15)

    基本用法 要使用<canvas>元素,必须先设置其width和height属性,指定可以绘图的区域大小.出现在开始和结束标签中的内容是后备信息,如果浏览器不支持<canvas> ...

  10. 重建程序员能力(2)-如何使asp.net mvc应用增加js和其他功能

    1. 在Visual Studio的解决方案资源管理器,找到项目右键展开右键菜单后选择 管理NuGet程序包. 2.在打开的页面中,可以按需要选择Jquery.BootStrap等页面展现框架. 有工 ...