编译python(cpython)的源码及其用途
获取python的源码
3.x及最新版本的源码:https://github.com/python/cpython
python2.7分支的源码:https://github.com/python/cpython/tree/v2.7.18
python官网也提供源码下载:https://www.python.org/downloads/source
ps. 对比过从官网下载的源码和github内容是一样的python的源码是由C语言编写的,所以叫cpython
编译python源码
我是在windows上编译python2.7的源码,可能还需要安装windows sdk,我的系统上已安装。使用vs2012及以上版本打开PCbuild目录下的pcbuild.sln,如果提示升级解决方案,请不要升级
选中python这个project,设置python为启动项目
【编译python(cpython)的源码及其用途】选中解决方案(pcbuild) - 右键 - 配置管理器,在生成这列只勾选python和pythoncore
文章图片
选中python 和pythoncore - 右键 - 平台工具集(platform toolset)设置为2012,因为我们没有安装它默认的2008,否则会生成失败报未安装vs2008的工具集
文章图片
点击生成,在PCbuild目录下会生成python.exe,如果是debug则会生成python_d.exe
使用编译出来的python 当把python作为游戏的脚本语言,为保护游戏不被反编译我们需要对python脚本进行加密,及需要对cpython源码做少量的修改让它更适合游戏领域。
我们把编译出来的python.exe单独拷贝出来,就可以用它来执行python脚本了,如下所示
PS E:\mypython> .\python.exe hello.py
hello
PS E:\mypython> .\python.exe
Python 2.7.18 (tags/2.7-dirty:8d21aa21f2, Apr5 2022, 14:59:21) [MSC v.1700 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
文章图片
推荐阅读
- 麒麟系统开发笔记(三)(从Qt源码编译安装之编译安装Qt5.12)
- Python列表的循环遍历 - while 和 for
- 【Python】列表嵌套和列表嵌套的数据查询
- python|计算机网络-基于python的TCP套接字编程
- python|【计算机视觉】局部图像描述子(Harris角点检测及匹配)
- opencv|python-opencv给图像添加高斯噪声
- 计算机视觉|基于聚类的图像分割-Python
- Python接口自动化——文件上传/下载接口
- Python 懂车帝全车系销量排行榜
- python 一行命令开启网络间的文件共享