pyinstaller打包可执行文件,存放路径包含中文无法运行的解决方案

 更新时间:2021年03月17日 10:52:27   作者:“人生苦短”  
这篇文章主要介绍了pyinstaller打包可执行文件,存放路径包含中文无法运行的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

一、实验环境

1.Windows7x64_SP1

2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装)

3.pyinstaller3.0

二、问题描述

1.使用如上环境,pyinstaller打包生成的exe文件,存放在本地,如果路径中包含中文,程序无法运行;exe程序如果使用中文命名,程序同样无法运行。

三、解决方式

1.查看pyinstaller网站

https://pypi.org/project/PyInstaller/

2.有如下描述

3.更换实验环境

1.Windows7x64_SP1

2.anaconda3.7 + python3.7(anaconda集成,不需单独安装)

3.pyinstaller3.5        #使用pyinstaller3.0,打包时报错

4.打包exe程序,存放路径包含中文,exe程序可以正常运行

补充:pyinstaller的使用和几个坑

pyinstaller是一个非常简单的打包python的py文件的库。用起来就几条命令就够了

直接pip install pyinstaller 会下载到最新版的 3.3的pyinstaller,和之前版本的语法是不同的,这个版本直接cmd里输入

pyinstaller X:\XXX\XXX.py 就可以了 生成的文件就在c盘user\用户名\dist 下,而用户名文件下还有个buld里面存放了她运行的中间文件,里面有个warn文件详细记录了打包的错误,虽然没什么卵用,但至少可以拿来百度下骗骗自己。。。哈哈

另外说几个非常重要的问题

1.命令使用pyinstaller和pyinstaller.exe结果都是一样的

2.-w是不显示命令窗口, -i 图标文件的路径 这是改变图标的,但是我发现只能改变任务栏里的和命令窗口的图标,并不能改变exe文件的图标。另外这些参数要加载pyinstaller和路径中间。

3.有一些代码需要调用一些图片和资源文件的,这是不会自动导入的,需要你自己手动复制进去才行。不然exe文件运行时命令窗口会报错找不到这个文件。

4.也是最坑的一点。就是当你使用错误的参数去打包或者打包到一半中断,等等此类运行到一半没了的情况。会导致你原来的py文件变成一个0KB的空文件。里面的代码会全部消失!!!所以以后需要有个良好的习惯,就是复制一份代码出来,用这个副本进行打包。并且参数出错,或者打错了导致失败时,检查下副本文件的py文件是否还存在再继续重新打包,不然打出来的就是空的文件,自然一直闪退,因为压根没内容。

5.写代码的时候应当有个良好的习惯,用什么函数导什么函数,不要上来import整个库,最后你会发现你一个100KB的代码打包出来有500MB,全是库,简直无语

6.pygame代码调试的时候要用quit()不然程序结束时会崩溃。但是直接运行py文件就不需要这个函数。这个我们之前的文章也提到过了。但是这里当我使用-w做成无窗口的程序后,一结束发现报错,暂停后发现报的是找不到quit()函数。可见这个函数其实是一个很让人无语的函数。一方面pygame官方网上说结束程序的时候需要加入这个函数。另一方面其实在正在运行时都不需要甚至会报错。虽然也不影响运行,但是弹个窗口出来说 什么不fail to execute总是让别人觉得你是个lowb。所以,调试的时候加一下,到时候execute的时候去掉。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • pytest框架之fixture详细使用详解

    pytest框架之fixture详细使用详解

    这篇文章主要介绍了pytest框架之fixture详细使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • python爬虫请求头的使用

    python爬虫请求头的使用

    这篇文章主要介绍了python爬虫请求头的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python3.6连接mysql数据库及增删改查操作详解

    python3.6连接mysql数据库及增删改查操作详解

    这篇文章主要介绍了python3.6 连接mysql数据库及增删改查操作详解,需要的朋友可以参考下
    2020-02-02
  • Python实现批量提取Word文档表格数据

    Python实现批量提取Word文档表格数据

    在大数据处理与信息抽取领域中,Word文档是各类机构和个人普遍采用的一种信息存储格式,本文将介绍如何使用Python实现对Word文档中表格的提取,感兴趣的可以了解下
    2024-03-03
  • 对python插入数据库和生成插入sql的示例讲解

    对python插入数据库和生成插入sql的示例讲解

    今天小编就为大家分享一篇对python插入数据库和生成插入sql的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • 使用Python爬虫库requests发送表单数据和JSON数据

    使用Python爬虫库requests发送表单数据和JSON数据

    今天再为大家介绍下使用Python爬虫库requests发送表单数据和JSON数据的方法,这是最基本的使用方法,大家可以参考测试下
    2020-01-01
  • Python学习之.iloc与.loc的区别、联系和用法

    Python学习之.iloc与.loc的区别、联系和用法

    loc和iloc都是pandas工具中定位某一行的函数,下面这篇文章主要给大家介绍了关于Python学习之.iloc与.loc的区别、联系和用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • Python爬取网页的所有内外链的代码

    Python爬取网页的所有内外链的代码

    这篇文章主要介绍了Python爬取网页的所有内外链,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Python利用jmespath模块进行json数据处理

    Python利用jmespath模块进行json数据处理

    jmespath是python的第三方模块,是需要额外安装的。它在python原有的json数据处理上做出了很大的贡献。本文将详细介绍如何利用jmespath实现json数据处理,需要的可以参考一下
    2022-03-03
  • Python复制Excel带有条件格式的单元格sheet实现步骤

    Python复制Excel带有条件格式的单元格sheet实现步骤

    这篇文章主要为大家介绍了Python复制Excel带有条件格式的单元格sheet实现步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07

最新评论