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

使用pdm管理python项目时去哪里找nuitka

零、pyproject.toml

pyproject.toml 项目配置如下

[project]
name = "test"
version = "0.1.0"
description = "Default template for PDM package"
authors = [{name = "beibeibeibei", email = ""},
]
dependencies = ["nuitka>=2.7", 省略其他]
requires-python = "==3.12.*"
readme = "README.md"
license = {text = "MIT"}[tool.pdm]
distribution = false

通过 pdm 安装的 nuitka,如何运行其他文档中的python -m nuitka --help

一、找到.venv文件夹

.venv文件夹和pyproject.toml文件是在同一个文件夹的

>tree /f
文件夹 PATH 列表
卷序列号为 ***
C:.
│  .pdm-python
│  pdm.lock
│  pyproject.toml
│
├─.venv
│  │  .gitignore
│  │  CACHEDIR.TAG
│  │  pyvenv.cfg
│  │
│  ├─Lib
│  │  └─site-packages
│  │      │  six.py
│  │      │  _virtualenv.pth
│  │      │  _virtualenv.py
│  │      │
│  │      ├─nuitka│  │
│  └─Scripts
│          activate
│          activate.bat
│          activate.fish
│          activate.nu
│          activate.ps1
│          activate_this.py
│          deactivate.bat
│          nuitka-run.cmd
│          nuitka.cmd
│          pydoc.bat
│          python.exe
│          pythonw.exe

二、找到python.exe文件位置

运行:.venv\Scripts\python.exe --version
输出:Python 3.12.8
在这里插入图片描述

三、找到nuitka

运行:.venv\Scripts\python.exe -m nuitka --help
在这里插入图片描述

四、写一个tkinter脚本用来打包

tkinter_example.py

import tkinter as tk
from tkinter import messageboxroot = tk.Tk()
tk.Label(root, text="Tkinter 示例 请输入内容:", wraplength=80).pack()
tk.Entry(root).pack()
tk.Button(root,text="点击我",command=lambda: messagebox.showinfo("信息","你输入的内容是:" + root.winfo_children()[1].get(),),
).pack()
root.mainloop()

五、Nuitka打包

此处省略C编译器安装步骤,链接1,链接2
可选:一个可视化的 Nuitka 命令生成器
运行命令:.\.venv\Scripts\python.exe -m nuitka --standalone --onefile --enable-plugins="tk-inter" tkinter_example.py
提示需要下载Dependency Walker,默认回车,或者输入Yes
命令输出截图
输出结果tkinter_example.exe
文件大小7.79MB
发给其他电脑运行的截图
tk截图





请添加图片描述

http://www.xdnf.cn/news/331417.html

相关文章:

  • 如何通过复盘提升团队能力?
  • 数组和集合
  • 【C++的类型转换】
  • 【漏洞预警】:致远OA V8.1 SP2 data.htm DOM型XSS漏洞
  • 使用 `detach()` 断开与共享特征层的连接
  • (已完结)完美解决C盘拓展卷是灰色的无法扩容的问题以及如何正确地在WINDOS上从一个盘扩容到C盘
  • Android 如何理解 Java JNI 中的引用与 Java 对象应用的区别
  • java算法的核心思想及考察的解题思路
  • Codeforces Round 1022 (Div. 2)
  • YOLOv1:开创实时目标检测新纪元
  • go.mod没有自动缓存问题
  • vue截图-html2canvas
  • 《硬件视界》专栏介绍(持续更新ing)
  • Qt学习Day2:信号槽
  • 从SQL的执行流程彻底详解预编译是如何解决SQL注入问题
  • Linux57配置MYSQL YUM源
  • 离散化(竞赛)
  • MinIo安装和使用操作说明(windows)
  • C++相关学习过程
  • 《USB技术应用与开发》第七讲:CDC串口设备案例
  • 【AlphaFold2】深入浅出,讲解Evoformer|学习笔记
  • 【汇正自控阀门集团】签约智橙PLM,智橙助泵阀“以国代进”
  • ntdll!CsrServerApiRoutine函数--csrsrv!CsrCallServerFromServer什么时候被调用?
  • 计算机硬件(南桥):主板芯片组FCH和PCH的区别
  • 苍穹外卖(用户下单、订单支付)
  • 当体育数据API遇上WebSocket:一场技术互补的「攻防战」
  • UGUI如何使用EventTrigger
  • LeetCode105_从先序与中序遍历序列构造二叉树
  • 如何从路由表优化的角度理解[CIDR]无类别域间路由选择技术?
  • 六级阅读---2024.12 卷一 仔细阅读1