编译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为启动项目

选中解决方案(pcbuild) - 右键 - 配置管理器,在生成这列只勾选python和pythoncore

image-20220405145512368

选中python 和pythoncore - 右键 - 平台工具集(platform toolset)设置为2012,因为我们没有安装它默认的2008,否则会生成失败报未安装vs2008的工具集

image-20220405150206847

点击生成,在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, Apr  5 2022, 14:59:21) [MSC v.1700 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.

image-20220405151117051

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:编译python(cpython)的源码及其用途 - Python技术站

(0)
上一篇 2023年4月2日 下午5:50
下一篇 2023年4月2日

相关文章

  • 使用pycharm or vscode来编写python代码?

    pycharm社区版可用于商业项目 pycharm社区版可用于商业项目,来源于官方的回答:Can I use Community Editions of JetBrains IDEs for developing commercial proprietary software? – Licensing and Purchasing FAQ pycharm专业…

    Python开发 2023年4月2日
    00
  • pycharm的docstring多了一行type

    注释中多了一行:type 设置为Epytext PyCharm 2020.3.5 (Community Edition) def test(param1,param2,param3): “”” :param param1: :param param2: :param param3: :return: “”” 同样的函数在pycharm2021下,每个参数都有…

    Python开发 2023年4月2日
    00
  • 在不同电脑间同步pycharm的配置

    备份文件同步法 最传统的方法就是把配置文件备份,然后在其它电脑上通过导入的方式来恢复,这种方法在很多软件中都实测可行。 具体对应到pycharm中,可以在pycharm菜单栏file – export 和import在多台电脑之间同步设置。 ps.pycharm的快捷键导入后,需要手动修改键盘映射修改为:windows副本,才会使用导入后的配置。 可以同步的…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部