python:生成带有*.pyd文件的wheel

本文介绍了如何创建包含*.pyd文件的Python wheel包。首先编写C源码,然后通过setup.py文件配置编译模块,关键在于设置ext_modules。编译后,wheel包位于bdist目录下,通过pip安装即可。注意,若pip版本过旧可能导致pyd中的函数不可用,建议升级pip。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

生成包含*.pyd文件的wheel

编写c文件

首先要编写c文件。此步骤略过

编写setup.py

#incoding:utf-8
from distutils.core import setup,Extension


MOD = 'marshall'
#资源(要编译和链接的代码文件)
source = ['marshall.c','marshallw.c']

setup(
    name='marshall'
### Python 工程文件类型及常见后缀名 Python 是一种解释型编程语言,其工程文件主要包括源代码文件和其他辅助文件。以下是常见的 Python 文件类型及其后缀名: #### 1. **`.py`** 这是最常见的 Python 源代码文件扩展名,表示纯文本形式的 Python 脚本文件[^1]。 #### 2. **`.pyc`** 该扩展名代表已编译的 Python 字节码文件。当 Python 解释器运行 `.py` 文件时,会自动生成 `.pyc` 文件以便加速后续执行[^2]。 #### 3. **`.pyo` 和 `.pyd`** - `.pyo`: 表示优化后的字节码文件,在某些旧版本中使用(Python 3.5 及之后已被弃用)。 - `.pyd`: 这种类型的文件通常是动态链接库 (DLL),主要用于 Windows 平台上的 C 或 C++ 编写的 Python 扩展模块。 #### 4. **`.pyx`, `.pxi`, `.pxd`** 这些扩展名与 Cython 相关: - `.pyx`: Cython 的源代码文件,可以看作增强版的 Python 文件。 - `.pxi`: Cython 中的 include 文件,类似于 C/C++ 的头文件。 - `.pxd`: 定义外部声明或公共定义的接口文件。 #### 5. **`.ipynb`** Jupyter Notebook 使用此扩展名保存交互式的 Python 笔记本文件。它是一种 JSON 格式的文档,包含了代码、输出以及说明性的 Markdown 文本。 #### 6. **`.so`** 在 Unix/Linux 系统上,C 或 C++ 编写的 Python 扩展模块会被编译成共享对象文件,通常带有 `.so` 后缀。 #### 7. **`.whl`** WheelPython 包的一种分发格式,`.whl` 文件是一个预构建好的包,便于安装和部署。 #### 8. **`.egg`** Egg 是另一种较老的 Python 包分发格式,虽然现在不常用,但在一些遗留项目中仍可见到。 --- ```python # 示例:创建一个简单的 .py 文件并运行 def hello_world(): print("Hello, world!") if __name__ == "__main__": hello_world() ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值