首页 > 编程语言 >MinGW编译Python至pyd踩坑整理

MinGW编译Python至pyd踩坑整理

时间:2023-12-12 16:11:55浏览次数:31  
标签:Python setup py gbk MinGW ini main pyd

注意需要魔法

用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) 

标签:Python,setup,py,gbk,MinGW,ini,main,pyd
From: https://www.cnblogs.com/handagou/p/17897123.html

相关文章

  • [-007-]-Python3+Unittest+Selenium Web UI自动化测试之@property装饰器默认值设置
    看示例:#!/usr/bin/python3#coding:utf-8__author__='csjin'#定义@property装饰器classPPTListModels(object):def__init__(self):self._tab_name="PPT模板"@propertydefhandle(self):returnself.__handle......
  • The Zen of Python
    TheZenofPythonTheZenofPython,byTimPetersBeautifulisbetterthanugly.Explicitisbetterthanimplicit.Simpleisbetterthancomplex.Complexisbetterthancomplicated.Flatisbetterthannested.Sparseisbetterthandense.Readabilitycou......
  • CentOS7.6安装python3.6.8一把成
    yum-yinstallvimunzipnet-tools&&yum-yinstallwget&&yum-yinstallbzip2&&yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel......
  • 【python基础之装饰器】---装饰器
    title:【python基础之装饰器】---装饰器date:2023-12-1118:54:06updated:2023-12-1214:30:00description:cover:https://home.cnblogs.com/u/dream-ze/【一】什么是装饰器装饰代指为被装饰对象添加新的功能,器代指器具/工具,装饰器与被装饰的对象均可......
  • 【python基础之函数对象和闭包】 --- 函数对象与闭包
    title:【python基础之函数对象和闭包】---函数对象与闭包date:2023-12-1119:20:00updated:2023-12-1119:20:00description:cover:https://home.cnblogs.com/u/dream-ze/【一】函数对象函数对象指的是函数可以被当做数据来处理具体可以分为四......
  • Python网络连接request报错:OSError: [Errno 113] No route to host
    报错:(pytorch)devil@Monster:~$huggingface-clilogin_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|......
  • python 统一图片尺寸
     ......
  • Python分享之Python的内存管理
    语言的内存管理是语言设计的一个重要方面。它是决定语言性能的重要因素。无论是C语言的手工管理,还是Java的垃圾回收,都成为语言最重要的特征。这里以Python语言为例子,说明一门动态类型的、面向对象的语言的内存管理方式。对象的内存使用赋值语句是语言最常见的功能了。但即使是最......
  • Java开发者的Python快速实战指南:实用工具之PDF转DOCX文档(可视化界面)
    首先,大家对Python语法的了解已经基本完成,现在我们需要开始进行各种练习。我为大家准备了一些练习题目,比如之前的向量数据库等,这些题目可以参考第三方的SDK来进行操作,文档也是比较完善的。这个过程有点像我们之前使用Java对接第三方接口的方式,所以今天我想开发一个很实用的工具类,用......
  • Java开发者的Python快速实战指南:实用工具之PDF转DOCX文档(可视化界面)
    首先,大家对Python语法的了解已经基本完成,现在我们需要开始进行各种练习。我为大家准备了一些练习题目,比如之前的向量数据库等,这些题目可以参考第三方的SDK来进行操作,文档也是比较完善的。这个过程有点像我们之前使用Java对接第三方接口的方式,所以今天我想开发一个很实用的工具类,用......