当前位置: 首页 > news >正文

Python笔记:VS2013编译Python-3.5.10

注:本文是编译老版本,有点麻烦,测试了编译新版,基本上是傻瓜是操作即可

1. python官网下载源码

https://www.python.org/ftp/python/3.5.10/Python-3.5.10.tgz

2. 编译前查看目录中相关文档

  • 源码目录结构
    在这里插入图片描述

  • 看README文档
    经过查阅相关文档,得知Windows下编译需要进入PCBuild,然后查看了里面的readme.txt,得知,可以执行build.bat直接编译即可,默认用的是vs2015编译。

  • 使用vs2013编译,我用的是命令行编译
    本地安装了python,要求3.6及以上,可以设置好环境变量HOST_PYTHON,否则会自动下载,我是自行安装的。

    执行如下命令,使用vs2013编译,命令选项可用build.bat -h查看,以及env.bat也有说明一些。

    build.bat -c Debug -p Win32 "/p:PlatformToolset=v120"
    
  • 修改第三方库获取路径
    自带的是从svn中获取,实际发现svn中已经没有相关文件了,所以修改了下get_externals.bat,让其从git中获取,
    在这里插入图片描述

    python.props修改下第三方库的版本号:

在这里插入图片描述

3. 编译结果及运行测试

使用v120,即vs2013可以编译,但_lzma与_tkinter未编译,暂不用,没啥影响。

运行测试的命令,rt.bat在PCBuild目录下

rt.bat -q

4. 打包

编译完成后,到此目录下
G:\python-qt-开发工具\python\Python-3.5.10\Python-3.5.10\Tools\msi\README.txt
参看如何打包,但此处用手工的方式整理

官方 Python 的目录结构通常包含以下核心目录 :
Doc: 直接复制
Tools: 参看官方的,只复制了个别
DLLs:存放 Python 及第三方扩展的动态链接库(如 .pyd 和 .dll)。
Lib:标准库源码(.py)和编译后的字节码(pycache)。
Scripts:可执行脚本(如 pip.exe 、python.exe )。自动生成,参看下文
include:C 扩展开发所需的头文件。
libs:静态库文件(如 python35.lib )。

Scripts:生成脚本目录
使用 setuptools 或 distutils 生成 Scripts 目录:
python -m ensurepip --default-pip
python -m pip install --upgrade pip

手动整理后如下:
在这里插入图片描述

4. 测试pip功能

将xxx\Scripts路径设置为环境变量,可以在cmd窗口中临时设置下set path=%path%;xxx\Scripts。
执行命令:pipe install PySide2
报错:
Could not fetch URL https://pypi.python.org/simple/pipe/: There was a problem
confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate ver
ify failed (_ssl.c:728) - skipping
Could not find a version that satisfies the requirement pipe (from versions: )
No matching distribution found for pipe

  • 解决步骤
    检查 Python SSL 模块支持
    若 Python 编译时未启用 SSL 支持,会导致 _ssl 模块缺失:
    验证 SSL 模块:
    import ssl
    print(ssl.OPENSSL_VERSION) # 若报错或无输出,说明 SSL 未正确编译

解决方案:
更新 pip 与 certifi 证书库
SSL 证书验证依赖 certifi 库,若证书过期或缺失会导致问题:
更新 pip 和 certifi

python -m pip install --upgrade pip certifi --trusted-host pypi.python.org  

成功后,会在路径Lib\site-packages\pip_vendor\certifi下生成cacert.pem文件,即证书文件
在这里插入图片描述

5. 测试python

测试了pip
测试了import sqlite3
测试了import sys
均正常
在这里插入图片描述

相关文章:

  • 【EDA】EDA中聚类(Clustering)和划分(Partitioning)的应用场景
  • 潮了 低配电脑6G显存生成60秒AI视频 本地部署/一键包/云算力部署/批量生成
  • 第3.2节 Android应用调用链路分析
  • 数字化技术的五个环节:大数据、云计算、人工智能、区块链、移动互联网
  • 深入理解指针(4)
  • 机器学习的基本概念
  • 面向智能家居安全的异常行为识别与应急联动关键技术研究与系统实现(源码+论文+部署讲解等)
  • 第二章 信息技术发展(2.1 信息技术及其发展)
  • 高频面试题:如何保证数据库和es数据一致性
  • 11.ArkUI Tabs的介绍和使用
  • 跟我学C++中级篇——处理对象的复制
  • 【科研绘图系列】R语言绘制区间点图(dot plot)
  • Vue前端学习笔记
  • 什么是测试驱动开发(TDD)?
  • Safety Estimands与Efficacy Estimands的差异剖析
  • UR5 UR5e机器人URDF文件
  • ai聊天流式响应,阻塞式和流式响应 nginx遇到的坑
  • 科技与商业动态简报
  • 基于python代码的通过爬虫方式实现快手发布视频(2025年4月)
  • QT 连接数据库操作(15)
  • 重新认识中国女性|婚姻,古代传统家庭再生产的根本之道
  • 鞍钢矿业党委书记、董事长刘炳宇调任中铝集团副总经理
  • 【社论】以“法治之盾”护航每一份创新
  • 释新闻|印度宣布“掐断”巴基斯坦水源,对两国意味着什么?
  • 无视规范开“远端”、企业云端被窃密,国安部:莫让运维成运“危”
  • 国家发改委党组在《人民日报》发表署名文章:新时代新征程民营经济发展前景广阔大有可为