源码 Cython Logo 源码 Cython 2023 v5.5.0.2 build 20231206.083049

 

本小程序适合 IT 程序员 按比较源代码备份 (或设置条件) 把 指定目录下某些 .PXD .PY .PYW .PYX 文件 快速转换编译成 基于 C 编程语言的 .PYD 文件

支持以多进程、多线程模式,快速编译指定源代码文件并生成 *.PYD 动态库。

相关应用


数字 C/C++ IDE     数字 Python IDE

源码 PyInstaller      源码 Dython

基本用法


Cython 文档编制,快速入门教程在此。

支持将生成 .PYD 文件,移动到相应源代码目录下;.PY 源代码经 Cython 化后有一些效率提升,虽不是很明显但能感觉到。

Cython 会先把 .PXD .PY .PYW .PYX 文件转换成 .C 中间代码,再编译成 .PYD 模块文件;因此,反编译 .PYD 文件只能获得 .C 中间代码 (无法获得最初源代码)。

编译时会根据所调用的 Python 解释器版本,自动校正 *.C 中间代码文档 2.7 3.x 语言级别; 但须严格按指定代码形式,编写 setup.py 编译配置文件。

若生成 *.C 文档后长时间无响应,请检查所安装的 Visual Studio Build Tools for C/C++ 版本 (兼容 2017 及之前版本) 或配置是否正确。

编译时若未安装微软 Visual C/C++ 编译器或配置不正确,会弹出安装 Visual C/C++ 编译器提示 (含链接地址) 对话框。

若有使用外部或自定义模块,请把相应路径添加到 控制台配置 对话框 PATH 变量框中。

转码时若源码有问题,会弹出源码错误情况摘要提示对话框。

使用技巧

若重命名 *.PYD 文件后,启动时提示 ImportError: dynamic module does not define module export function (PyInit_xx),请重新 Cython 相关模块。

Python3.x

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
 
__version__ = "0.1.7.1 build 20200301.060127" #采用全文替换小程序批量修改时,勾选文件版本复选框会自动更新
 
from distutils.core import setup
from Cython.Build import cythonize
 
#以下代码排版形式须严格遵守
modules = [
    "base.py",
    "text.py"] #平时仅修改此处的要编译模块名,__init__.py 不支持编译
setup(
    ext_modules=cythonize(modules),
)
			

Python2.7

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
#
 
__version__ = "0.1.7.1 build 20200301.060127" #采用全文替换小程序批量修改时,勾选文件版本复选框会自动更新
 
from distutils.core import setup
from Cython.Build import cythonize
 
#以下代码排版形式须严格遵守
modules = [
    "base.py",
    "text.py"] #平时仅修改此处的要编译模块名,__init__.py 不支持编译
setup(
    ext_modules=cythonize(modules),
)
			

适合格式

使用场景 文件格式 使用场景 文件格式
Python 编程语言 .py .pyw Cython 编程语言 .pxd .pyx

具体支持哪些格式,以发布版为准。