CPython(1)-macOS下通过CLion编译CPython
由于这段时间手头没有Windows平台的电脑,而且又习惯了JB家的IDE产品。研究了一下如何在CLion中编译并调试CPython。
环境
- macOS:15.1
- CLion:2024.2.2 (版本必须大于2020.2)
安装C语言编译器和工具包
$ xcode-select --install
会安装 Xcode 命令行工具(Command Line Tools for Xcode),这些工具包含了一系列用于开发的命令行程序和库,比如编译器(clang、gcc 等)、调试器(lldb)、各种开发相关的脚本和工具等。
安装OpenSSL
从PyPI官网获取包的时候,需要OpenSSL,一般来说构建完成后会获取其他包,我们可以通过Homebrew安装:
$brew install openssl xz zlib gdbm sqlite
获取cpython源码
可以通过 python官网或者直接通过github获得,我这边使用的是3.13:
$ git clone --branch 3.13 https://github.com/python/cpython
生成makefile
获得cpython源码后,进入到文件夹根目录下,运行
$ CPPFLAGS='-I$(brew --prefix zlib)/include'
$ LDFLAGS='-L$(brew --prefix zlib)/lib'
先设置环境变量指定zlib的位置,然后生成makefile文件。
$ ./configure
将会在当前目录下生成makefile
文件。
接下来可以使用
$ make -j4 -s
生成python.exe
,很神奇的是在macOS下,生成的居然是.exe,不过这不是Windows可执行文件,因为macOS文件系统不区分大小写,为了防止意外引用Python/
而故意设置的。
CLion配置
生成makefile
文件结束后即可通过CLion打开。
在CLion中选择Open->选择cpython目录下的makefile
文件->open as project
使用默认值clean
在上方菜单栏中选择build->build project就会开始构建python
接下来设置已编译的二进制文件为运行/调试的配置选项。
在上方菜单栏选择Run->Edit Configurations。
在Native Application中按图中参数设置:
配置完成后即可在CLion中通过右上角快捷栏运行我们的REPL:
如果在CPython中设置了任何断点的话,使用DEBUG模式运行即可。
Refs:
- 《CPython》设计与实现