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. 一个简单的HTML5 Web Worker 多线程与线程池应用

    笔者最近对项目进行优化,顺带就改了些东西,先把请求方式优化了,使用到了web worker.发现目前还没有太多对web worker实际使用进行介绍使用的文章,大多是一些API类的讲解,除了涉及到一些 ...

  2. qutebrowser 只用键盘操作的浏览器

    一个 Qt 库制作的最简化浏览器,内核是 Chromium.最大特点就是它自带命令行,可以完全用键盘操作. 下载地址: 链接:https://share.weiyun.com/5Y2Ajvn 密码:m ...

  3. Poj1799

    Yeehaa! Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 15082   Accepted: 6675 Descript ...

  4. React create-react-app Build fails after eject: Cannot find module '@babel/plugin-transform-react-jsx'

    运行 npm run eject 出现报错 Build fails after eject: Cannot find module '@babel/plugin-transform-react-jsx ...

  5. servlet与jsp篇(一)$.ajax交互

    servlet其实是利用java类编写的服务器端应用程序,他的生命周期可以分为三个阶段:初始化阶段.运行阶段和消亡阶段; jsp页面实质上是一个HTML页面,但他包含了用户产生动态网页内容的java代 ...

  6. java 线程池 ---- newSingleThreadExecutor()

    class MyThread implements Runnable{ private int index; public MyThread(int index){ this.index = inde ...

  7. Android远程桌面助手(B1185)for Android P开发者预览版

    Android P的开发者预览版已出,其中App compatibility changes部分特别强调“The platform restricts the use of some non-SDK ...

  8. Docker 使用 Dockerfile 构建自己的镜像

    可以使用Dockerfile的配置文件方式进行构建自己的镜像 下面利用docker构建一个Caddy web服务器 构建脚本 Dockerfile有自己的命令,下面使用了一些比较常用的命令,更多的Do ...

  9. Linux网络基本网络配置方法介绍

    网络信息查看 设置网络地址: cat /etc/sysconfig/network-scripts/ifcfg-eth0 你将会看到: DEVICE=eth0BOOTPROTO=staticsHWAD ...

  10. 理清PHP在Linxu下执行时的文件权限

    首先推荐一个linux权限的视频:Linux权限管理之基本权限,讲的非常好,看完后就基本明白了. 一.文件权限及所属 1.文件有三种类型的权限,为了方便期间,可以用数字来代替,这样可以通过数字的加减, ...