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

nuitka系列: 将py转为pyd文件

nuitka系列: 将py转为pyd文件

最近做相关的工作,发现网上相关的内容解释还不够或者比较零散,这里以实际的项目示例方便大家快速进行编译。

项目示例

假设有个项目如下,demo.py需要调用test_1.py,test_2.py以及package_1,package_2,或者它们除demo.py外,test_2.py会调用test_1.py,package_1中的子模块会调用package_2中的子模块等等,都适用。

│  demo.py
│  test_1.py
│  test_2.py
│
├─package_1
└─package_2

转换脚本示例

Windows版

将下面代码保存成*.bat文件,例如test.bat,在终端输入test.bat即可批量执行。

python -m nuitka --module package_1 --include-package=package_1 --output-dir=../dst_code
python -m nuitka --module package_2 --include-package=package_2 --output-dir=../dst_code
python -m nuitka demo.py ^
--module ^
--include-module=test_1 ^
--include-module=test_2 

Linux版

将下面代码保存成*.sh文件,例如test.sh,在终端输入sh test.sh即可批量执行。

python -m nuitka --module package_1 --include-package=package_1 --output-dir=../dst_code
python -m nuitka --module package_2 --include-package=package_2 --output-dir=../dst_code
python -m nuitka demo.py \
--module \
--include-module=test_1 \
--include-module=test_2 

调用生成的pyd文件

新建一个main.py文件,像正常调用python模块或者包一样调用pyd文件,一般生成的pyd文件会相比py文件多了一些信息,例如会生成demo.cp310-win_amd64.pyd这样的文件,可以正常调用的,不需要改名。

清除生成的文件

nuitka编译生成的文件有*.build,pyi,.pyd文件
以windows为例,在生成的dst_code目录下执行下面命令即可。

rm -r *.build
del /s /q *.pyi
del /s /q *.pyd

http://www.kler.cn/a/406031.html

相关文章:

  • 数据结构-7.Java. 对象的比较
  • Redis ⽀持哪⼏种数据类型?适⽤场景,底层结构
  • RTL8211F 1000M以太网PHY指示灯
  • Git 提交的相对引用
  • 全面击破工程级复杂缓存难题
  • 三层交换机静态路由实验
  • yolo自动化项目实例解析(九) 导航
  • RDD触发算子:collectAsMap以及foreachParition的语法以及举例使用
  • 第三讲 架构详解:“隐语”可信隐私计算开源框架
  • Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持
  • SpringBoot 整合Mybatis时读取部分数据为空或日期为空
  • C#超简单实现人脸识别
  • 虚拟浏览器可以应对哪些浏览器安全威胁?
  • macOS 无法安装第三方app,启用任何来源的方法
  • 利用uniapp开发鸿蒙:运行到鸿蒙模拟器—踩坑合集
  • 高级编程之结构化代码
  • 知识中台在多语言客户中的应用
  • SOL链上的 Meme 生态发展:从文化到创新的融合#dapp开发#
  • Jenkins迁移数据目录
  • C语言中const char *字符进行切割实现
  • 基于matlab的语音信号去噪的App Designer 设计
  • Django数据迁移出错,解决raise NodeNotFoundError问题
  • Spring Boot 深度解析:快速构建高效、现代化的 Web 应用程序
  • 独立资源池与共享资源池在云计算中各自的优势
  • 数据分析指标与术语
  • sysbench压测DM的高可用切换测试