首页 > 编程语言 >Python GUI 开发过程中踩过的坑总结

Python GUI 开发过程中踩过的坑总结

时间:2023-11-25 22:55:04浏览次数:42  
标签:总结 文件 Python GUI py python Windows 目录 打包

1、在使用pycharm开发运行时,ide会默认添加python文件和资源文件到python路径中去,所以通常不会报错,但是默写情况则会出现报错,如模块加载不到其他模块的问题。

在手动创建项目工程目录结构时,需要将指定的python文件存放目录设定为【sources root】,然后在该目录下在创建目录时要创建【python package】目录。

定义【sources root】后,还有一个区别就是在py文件加载导入模块时可以使用import的方式,不需要from ... import...导入模块。

【python package】目录和普通目录的主要区别在于该种目录下会自动创建【__init__.py】文件。这样会认定为指定资源模块下的子模块,加载时会统一加载模块。

 

2、【pyinstaller】是用于将python项目打包成exe程序的工具。

首次使用打包时需要切换到【sources root】下进行操作,不然可能出现打包报错,部分资源未打包的问题。

打包命令:【pyinstaller -Fwi resources/images/logo.ico TaskJ.py】该命令会打包程序图标。

【resource root】中的文件需要打包一份到【sources root】目录下,否则打包的exe程序会出现图标不显示的情况。

出现:【Building EXE from EXE-00.toc completed successfully.】表明打包成功。

首次打包时,在打包目录下会出现和程序入口文件相同名称的【.spec】文件,该文件为打包配置文件,可以通过手动修改该配置文件,然后重新【pyinstaller **.spec】命令的方式重新打包。

-F, –onefile    打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
-D, –onedir    打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护
-K, –tk    在部署时包含 TCL/TK
-a, –ascii    不包含编码.在支持Unicode的python版本上默认包含所有的编码.
-d, –debug    产生debug版本的可执行文件
-w,–windowed,–noconsole    使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
-c,–nowindowed,–console    使用控制台子系统执行(默认)(只对Windows有效) pyinstaller -c  xxxx.py pyinstaller xxxx.py --console 
-s,–strip 可执行文件和共享库将run through strip.注意Cygwin的strip往往使普通的win32 Dll无法使用. -X, –upx 如果有UPX安装(执行Configure.py时检测),会压缩执行文件(Windows系统中的DLL也会)(参见note) -o DIR, –out=DIR 指定spec文件的生成目录,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下. -p DIR, –path=DIR 设置导入路径(和使用PYTHONPATH效果相似).可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源 –icon=<FILE.ICO> 将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标  pyinstaller -i  ico路径 xxxxx.py –icon=<FILE.EXE,N> 将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效) -v FILE, –version=FILE 将verfile作为可执行文件的版本资源(只对Windows系统有效) -n NAME, –name=NAME 可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec的名字

 

 3、python开发时版本需要看清,部分报错和此有关,pip建议使用国内源进行需要的模块下载。

 

4、以上为开发过程遇到的部分问题总结,可能有些地方总结的不够全面或正确。

标签:总结,文件,Python,GUI,py,python,Windows,目录,打包
From: https://www.cnblogs.com/lightbc/p/17856244.html

相关文章

  • 使用 NSIS 将 Python 程序制作成 Windows 环境下的安装程序(安装包)
    转载于:https://www.freesion.com/article/1583987771/#1_NSIS__6NSIS官网下载:https://nsis.sourceforge.io/Main_Page首先,需要使用PythonPyInstaller模块将Python程序制作成可直接运行的EXE程序。(可以不要-F参数)将我们所需的、打包好的windowdemo目录(文件夹)压索成.zip......
  • python
    python注释1.单行注释:#2.多行注释:用‘’‘或“”“包裹起来(头尾都是三个标)基础语法1.print​ 普通输出每次print后自动换行​ 若不想换行print(”。。。。。“,end="")​ 可一次输出多个内容print(”AB","A")输出ABA​ print(”AB","A",sep="*")sep改两个输......
  • python 中实现对列表中各元素的个数进行统计
     001、方法1>>>list1=["aa","aa","bb","aa","cc","cc"]##测试列表>>>list1.count("aa")##借助内置函数输出单个元素的次数3>>>s......
  • 聪明办法学Python task03 & task04
    聪明办法学Python学习笔记chapter2数据类型和操作DataTypesandoperator常用内置类型BuiltinTypes在本节中,我们将要见到这些基本类型:整数Integer(int)浮点数Float布尔值Boolean(bool)类型Type(是的,“类型”也是种类型!)严格的来说,Type是一种类的对象,Python是......
  • 2023-2024-1 20231410刘珈岐 《计算机基础与程序设计》第9周学习总结
    2023-2024-120231410刘珈岐《计算机基础与程序设计》第9周学习总结作业信息这个作业属于哪个课程(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里(https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08))这个作业的目标自学教材《......
  • matplotlib之简介、总结
    Matplotlib简介Matplotlib是一个用于绘制图表和可视化数据的Python库,由JohnD.Hunter于2003年创建。它提供了广泛的绘图功能,适用于科学计算、数据分析、机器学习等领域。Matplotlib是一个开源项目,广泛应用于科研、教育和工程等领域。是专⻔⽤于开发2D图表(包括3D......
  • 聪明方法学python task2,task3
    数据类型类型Type本身也是类型Float默认双精度Moudle内置常数None表示空值tau(2*pi)inf,浮点正无穷大,等价于float(‘inf’),负无穷大使用-math.inf逻辑运算符not类比c语言‘!’and,or类比&&和||浮点数误差`print(0.1+0.1==0.2)#True``print(0......
  • 2023-2024-1 20231424《计算机基础与程序设计》第9周学习总结
    2023-2024-120231424《计算机基础与程序设计》第9周学习总结作业信息作业属于的课程<班级链接>(2022-2023-1-计算机基础与程序设计)作业要求<作业要求>(2022-2023-1计算机基础与程序设计第一周作业)作业目标《计算机科学概论》第10,11章和《C语言程序设计》第8章......
  • 聪明办法学Python任务笔记
    数据类型和操作Python中数据类型与C语言相似,常见的有整数型(Integer)int,浮点数Float,布尔值型Boolean(bool),类型type,字符串string等。Python中比较特殊的是列表LIst,元组Tuple,集合Set,字典Dictionary这几种数据类型。下面是几种数据类型的用途:内置常数:Boolean:True用于表示......
  • 11.25每日总结
    Flash动画综合设计并发布、嵌入到网页    【作业要求】自己选定主题,创意制作Flash动画,并与网页进行集成【实验环境】l 所需硬件环境为微机;l 所需软件环境为Flash8.0【创意内容】在一个二界面里整合学习并且制作了三种动画,第一个是制作一个按钮,并且再......