You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Cython --embed编译Python代码?求最小完整可运行示例

用Cython将Python脚本编译为二进制可执行文件的最小完整示例

我来给你一个步骤清晰、亲测可用的最小示例,帮你用Cython把Python代码转成二进制可执行文件:

1. 准备依赖环境

首先得安装Cython和对应的C编译器:

  • 安装Cython:
    pip install cython
    
  • 安装C编译器:
    • Linux:通常预装gcc,如果没有的话,用包管理器安装(比如sudo apt install gcc)
    • Windows:安装Visual Studio,选择「C++开发工具」组件
    • macOS:安装Xcode命令行工具,运行xcode-select --install

2. 编写你的Python脚本

创建一个名为my_script.py的文件,写点简单的测试代码:

def main():
    print("Hello from compiled Python! 🎉")
    # 加个简单计算验证逻辑正常
    sum_result = 42 + 58
    print(f"42 + 58 = {sum_result}")

if __name__ == "__main__":
    main()

3. 编写编译配置文件

创建setup.py,这是Cython用来编译的配置脚本:

from setuptools import setup
from Cython.Build import cythonize

setup(
    name="CompiledPythonApp",
    # 把Python脚本转成C扩展,指定Python3语法
    ext_modules=cythonize("my_script.py", compiler_directives={'language_level': "3"}),
    # 配置控制台可执行入口,生成的可执行文件会绑定到main函数
    entry_points={
        'console_scripts': [
            'my_compiled_app = my_script:main',
        ],
    },
)

4. 编译并生成可执行文件

在终端运行以下命令完成编译和安装:

python setup.py install

这个命令会:

  1. 把my_script.py转成C代码
  2. 编译C代码成扩展模块
  3. 在你的Python环境的可执行目录(Linux/macOS的bin,Windows的Scripts)生成名为my_compiled_app的二进制可执行文件

5. 运行你的二进制文件

现在直接在终端输入命令就能运行:

my_compiled_app

你会看到输出:

Hello from compiled Python! 🎉
42 + 58 = 100

可选:生成可直接运行的独立二进制(进阶)

如果你想生成不需要依赖Python环境的可执行文件,可以用cython的--embed参数先转成C代码,再用gcc编译:

  1. 转成C代码:
    cython my_script.py --embed -o my_script.c
    
  2. 用gcc编译(Linux/macOS,替换成你的Python版本,比如3.10):
    gcc -Os -I/usr/include/python3.10 -o my_standalone_app my_script.c -lpython3.10 -lpthread -lm -lutil -ldl
    

运行生成的my_standalone_app即可,不过这种方式需要保证目标机器有对应版本的Python库支持。

内容的提问来源于stack exchange,提问作者safetyduck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 17:27:36