关于Windows实现Python C扩展
来源:http://www.tudoupe.com时间:2022-07-18
本文源自: (1条消息) 浅谈Python C扩展_fitzzhang的博客-CSDN博客_c扩展python
由于不同的窗口平台或不同的sw版本,不同的结果会发生。
本文的利用环境如下:

1. python 3.10

2.swig-4.0.2

3.Visual Studio 2022 Community

Visual Studio: IDE and code editor for software developers and Teams (microsoft.com)
4.window版本(msc_ver=='1929')

在正式启动之前,修改的配置点:
1. 配置环境变量配置
添加C到路径:MinGWbin
2.确认Python相关环境变量配置
3.Addistutils.cfg
使用C++编译器选项安装MinGW Add C:MinGWbin到PYTHONPATHLibdistutils路径中,创建filedistutils.cfg并添加下列行:
4.cygwinccompiler.py 83行后插入
其中msc_ver=='1929'是为了匹配当前的系统版本, 但是动态链接库还是使用vcruntime140, 安装的Visual Studio 2022 Community会包含这部分.
经过上述准备工作, 可以采取后续步骤.
直接编译原始代码会遇到很多问题,在搜索和搜索网页后,修改如下:
example.cpp源文件
主要的更改是: Py_InitModule3无法找到,因此在更改时报告了错误,并以 PyModuleDef 代替 PyModule_Create,将init函数改为 PyInit_xxxx (此处已经命名为PyInit_example),以便成功编译。
setup.py源文件
注意:setup.py中的Extenson中name(example)一定要和PyInit_xxxx中的xxxx完全一样.
cmd窗口切换到存储这两个文件的路径,然后编译并安装如下命令:
添加 - 用户以避免安装期间的权限问题.
安装成功后,就会在python_path/Lib/site-packages下面生成example.cp310-win_amd64.pyd这个模块和exampleAPP-1.0-py3.10.egg-info这个文件,就可以导入和使用了

开始测试: test_example.py源文件
运行结果如下

简单测试可成功.
相关新闻
- 2022-08-04 WPF的由来
- 2022-08-04 Win11勒索软件防护怎么打开?Win11安
- 2022-08-04 Windows系统jdk的配置
- 2022-08-04 Windows10 OneNote怎么重新登录?如何重
- 2022-08-04 超好用的 Windows 效率工具推荐
- 2022-08-04 Windows如何在CMD或PowerShell中配置代理
- 2022-08-04 powershell和cmd对比
- 2022-08-04 【QT】Windows下QT下载安装
- 2022-08-04 windows下 C++ 实现类属性的get和set方
- 2022-08-04 Win11快速助手在哪里?Win11打开快速
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
