不需要安装VS工具,pyd使用说明。

用scoop自动安装配置MinGw

需要魔法,用包管理scoop安装不需要手动配置。这一步可以自行下载mingw64然后手动配置。

scoop install mingw

手动安装mingw32也可以,官方地址下载安装:https://sourceforge.net/projects/mingw/

安装方法:https://blog.csdn.net/HandsomeHong/article/details/120803368

↑记得最后要添加一下环境变量

如果官网下载太慢可以用我提供的备份:https://gitee.com/dvaloveu/lovedva/blob/master/blog_attachments/mingw-get-setup.exe

下载链接失效请私信或者文章最下方评论,QQ: xixixi_0987@hotmail.com 答案:没有

安装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文件

即使安装的64位minGW也用 --compiler=mingw32

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

使用引入pyd文件

编译完成的pyd文件名称为 “脚本名.cp38-win_amd64.pyd” 类似的格式,不要修改生成的pyd文件名,引入时只引入脚本名部分即可,与直接引入.py脚本时一致。

注意:.pyd只能作为外部文件被引入,不能直接运行,需要另写一个.py脚本引入pyd文件作为入口使用。如果.pyd和py同时存在,运行时优先调用.pyd文件。

#引入pyd包
import main_screen_ini_gbk
#使用pyd中封装好的方法
main_screen_ini_gbk.push2NextHome(tsclibrary)

MinGW编译Python至pyd踩坑整理的更多相关文章

  1. windows下使用mingw编译python扩展模块

    环境: 1.python2.7.2 2.mingw20120426 说明: PYTHON_HOME:不做特殊说明的话,默认代表python的安装路径. MINGW_HOME:不做特殊说明的话,默认代表 ...

  2. ubuntu编译python源码的坑

    在linux平台下编译python时只需要3条命令. 编译步骤 在github或https://www.python.org/downloads/中下载python源码 解压压缩包进路目录执行 1. ...

  3. 用Java执行Python:Jython踩坑笔记

    常见的java调用python脚本方式 1.通过Jython.jar提供的类库实现 2.通过Runtime.getRuntime()开启进程来执行脚本文件 1.Jython Jpython使用时,版本 ...

  4. TrinityCore3.3.5编译过程-官方指导-踩坑总结

    官方指导:主页->how to compile -> windows 指导文档写得很详细,但有不少细节点没提到,这里把过程简化总结,说明重点,及易坑点 1,安装需求 编译工具:cmake, ...

  5. python fc21~fc29踩坑记录

    最近在公司的linux fc21上安装python和anaconda, 直接mintmenu给挂掉了. 真是弱爆了. 后来,升级终于来了, 升到了fc29.好,再看看, python2.7还在, py ...

  6. Python之locust踩坑指北

    坑点1:locust安装报错 其中一种情况:error:Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visua ...

  7. Python Sphinx使用踩坑记录

    描述 使用 pip 安装sphinx后,按照教程建立了一个新的py文件,如下 # run.py def run(name): """ this is how we run ...

  8. python多进程通讯踩坑记

    # 错误代码如下 from multiprocessing import Process from queue import Queue # 正确代码应该是这样,Process和Queue都来自mul ...

  9. Ubuntu16.04编译安装tensorflow,2018最新血泪踩坑之后的全面总结!绝对成功!【转】

    本文转载自:https://blog.csdn.net/pzh11001/article/details/79683133 大家好,我是 (深度学习硬件DIY总群)(719577294)群主:    ...

  10. openssl1.0在mac下的编译安装(踩坑精华)

    之前做了一次brew版本升级,然后用pip3安装的一个python命令就无法执行了(涉及到openssl库),执行就会报一个错误. ImportError: dlopen(/usr/local/Cel ...

随机推荐

  1. 金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

    金融时间序列预测方法合集:CNN.LSTM.随机森林.ARMA预测股票价格(适用于时序问题).相似度计算.各类评判指标绘图(数学建模科研适用) 1.使用CNN模型预测未来一天的股价涨跌-CNN(卷积神 ...

  2. Windows系统phpstudy+PbootCMS搭建网站记录

    环境 Windows 10 phpstudy v8.1           下载地址:https://www.xp.cn/download.html PbootCMS v3.2.4  下载地址:htt ...

  3. 面试官:Sentinel是如何实现限流的?

    限流是一种通过控制系统对外提供的资源.服务或接口的访问数量或速率,以保护系统免受过载的一种策略. 它的目的是确保系统能够在承受范围内提供稳定和可靠的服务,避免因过多的请求而导致系统崩溃.资源耗尽或响应 ...

  4. 我自创的 Response泛型 返回类,全自动 推断,非常方便使用。

    package com.diandaxia.common.utils; import java.util.Date; /** * by liyuxin 2019.12.16 更新 * 统一返回格式 * ...

  5. DBGRIDEH 排序 我自己大总结【含DBX,Dac控件】

    1.三个属性让DBGridEH可以点击表头自动排序 只要设置下面三个属性: ColumDefValues->Title->TitleButton设为TRUE  sortlocal   设为 ...

  6. UUID算法:独一无二的标识符解决方案

    引言 在分布式系统和大数据环境下,唯一标识符的生成和管理是一项关键任务.UUID(Universally Unique Identifier)算法应运而生,成为了解决重复数据和标识符冲突的有效工具.本 ...

  7. 线性SVM决策过程的可视化

    线性 SVM 决策过程的可视化 导入模块 from sklearn.datasets import make_blobs from sklearn.svm import SVC import matp ...

  8. Java集合篇之逐渐被遗忘的Stack,手写一个栈你会吗?

    正月初九,开工大吉! 2024年,更上一层楼! 写在开头 其实在List的继承关系中,除了ArrayList和LinkedList之外,还有另外一个集合类stack(栈),它继承自vector,线程安 ...

  9. 【Flink入门修炼】1-4 Flink 核心概念与架构

    前面几篇文章带大家了解了 Flink 是什么.能做什么,本篇将带大家了解 Flink 究竟是如何完成这些的,Flink 本身架构是什么样的,让大家先对 Flink 有整体认知,便于后期理解. 一.Fl ...

  10. 【OpenGL ES】FBO离屏渲染

    1 前言 ​ OpenGL 默认把 framebuffer 当作渲染目的地,它由窗口系统创建并管理.应用程序也可以创建额外非可显示的 framebuffer object(FBO),以区别窗口系统提供 ...