当前位置: 首页 > news >正文

MinGW编译Python至pyd踩坑整理


title: MinGW编译Python至pyd踩坑整理
tags: [Python,C·C++]
categories: [开发记录,Python]
date: 2023-12-12 13:48:20
description:
sidebar: [‘toc’, ‘related’,‘recent’]

注意需要魔法

用scoop自动安装配置MinGw

需要魔法,不需要手动配置mingw

scoop install mingw

安装Cython,Setuptools第三方库

关闭魔法,使用清华源

pip install setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install cython -i https://pypi.tuna.tsinghua.edu.cn/simple

编写setup.py配置编译内容

from setuptools import setup
from Cython.Build import cythonize
from setuptools.extension import Extension# 定义多个扩展模块
extensions = [Extension(name="main_screen_ini_gbk", sources=["main_screen_ini_gbk.py"]),Extension(name="tcpserver_ini_gbk", sources=["tcpserver_ini_gbk.py"]),# Extension(name="mylib1", sources=["mylib1.py"]),# 可以继续添加更多的模块
]setup(ext_modules=cythonize(extensions, language_level=3)
)
# python setup.py build_ext --inplace  --compiler=mingw32

执行以下命令编译成pyd文件

# python setup.py build_ext --inplace  --compiler=mingw32

使用引入pyd文件

编译完成的pyd文件名称为脚本名.cp38-win_amd64.pyd,不要修改生成的pyd文件名,引入时只引入脚本名部分即可,与直接引入.py脚本时一致。
.pyd只能作为外部文件被引入,不能直接运行,需要另写一个.py脚本作为入口使用。

#引入pyd包
import main_screen_ini_gbk 
#使用pyd中封装好的方法
main_screen_ini_gbk.push2NextHome(tsclibrary) 
http://www.lryc.cn/news/258731.html

相关文章:

  • 计算机毕业设计 基于SpringBoot的乡村政务办公系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 命令行参数(C语言)
  • WT2003H4-16S语音芯片:扭蛋机新潮音乐,娱乐升级无限
  • Go 语言开发工具
  • 神经网络是如何工作的? | 京东云技术团队
  • C++ Qt开发:RadioButton单选框分组组件
  • 推荐开源项目-网络应用协议框架Socket.D
  • Redis缓存异常问题,常用解决方案总结
  • java开发的智能聊天机器人_超级AI_支持自动绘画功能
  • 亚马逊云科技:向量数据存储在生成式人工智能应用程序中的作用
  • 小程序面试总结
  • mac 安装anaconda和lightgbm
  • Flink 有状态流式处理
  • LeetCode //C - 1071. Greatest Common Divisor of Strings
  • 智能优化算法应用:基于群居蜘蛛算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • AtCoder Beginner Contest 332
  • 华为OD试题二(文件目录大小、相对开音节、找最小数)
  • 【Spark精讲】Spark作业执行原理
  • Docker容器:Centos7搭建Docker镜像私服harbor
  • ClickHouse安装和部署
  • Spring Cloud Gateway中对admin端点进行认证
  • 2. 如何通过公网IP端口映射访问到设备的vmware虚拟机的ubuntu服务器
  • 配置android sudio出现的错误
  • 【初阶C++】前言
  • MAC IDEA Maven Springboot
  • Angular13无法在浏览器debug
  • H.264与H.265(HEVC):视频编码的演进
  • Python从入门到精通九:Python异常、模块与包
  • 无需公网IP联机Minecraft,我的世界服务器本地搭建教程
  • 机器学习-SVM(支持向量机)