不需要安装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. 来啦!2020 Java开源项目权威排名解读:Spring Boot排名稳定、Shiro未上榜

    这篇文章对于我们做技术选型以及技术学习都有极强的指导性作用,建议收藏! 原创不易,若有帮助,欢迎点赞! 推荐: 接近100K star 的Java学习/面试指南 Github 95k+点赞的Java面 ...

  2. ElasticSearch7.3学习(四)----结合Spring boot进行增删改查和批量(bulk)详解

    1.前置 java api 文档 https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.3/java-rest-overvi ...

  3. 从零开始的react入门教程(七),react中的状态提升,我们为什么需要使用redux

    壹 ❀ 引 在前面的文章中,我们了解到react中的数据由props与State构成,数据就像瀑布中的水自上而下流动,属于单向数据流.而这两者的区别也很简单,对于一个组件而言,如果说props是外部传 ...

  4. NC16645 [NOIP2007]矩阵取数游戏

    题目链接 题目 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵 ...

  5. Freaktab将于12月底关闭

    出过众多优秀固件的电视盒子论坛Freaktab, 将于2021年12月31日关闭 R.I.P

  6. Nginx开启gzip提升访问效率

    说明 最近网站考虑开启gzip压缩试试效果,gzip是nginx服务器的ngx_http_gzip_module模块提供的在线实时数据压缩功能. 通过开启gzip功能,可对服务器响应的数据进行压缩处理 ...

  7. Oracle 中UNDO与REDO的区别详解

    一 为了更清楚的看出2者区别,请看下表: UNDO                                                                   REDO Rec ...

  8. python第一章pta习题总结

    chapter 1 一.选择判断部分 1.高级语言程序要被机器执行,只有用解释器来解释执行.(F) 计算机高级语言按程序的执行方式可以分为编译型和解释型两种. 执行方式 跨平台 特点 缺点 代表语言 ...

  9. Miniconda安装和使用

    Miniconda概述 Miniconda是什么? 要解释Miniconda是什么,先要弄清楚什么是Anaconda,它们之间的关系是什么? 而要知道Anaconda是什么,最先要明白的是搞清楚什么是 ...

  10. Vue3学习(十八) - TreeSelect 树选择

    写在前面 本以为可以在家学习一天,结果家里来了客人拜年,就没学习上,有点小遗憾吧. 昨天完成从分类管理的前后端代码复制出文档管理的前后端代码,遗留问题是只能选择一级父分类.值得说的是,昨晚的遗留的问题 ...