python中我用pyinstaller打包的exe文件打不开,报错如下 是啥问题啊 F

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中我用pyinstaller打包的exe文件打不开,报错如下 是啥问题啊 F相关的知识,希望对你有一定的参考价值。

错误代码:
Fatal Python error: initfsencoding: unable to load the file system codec
zipimport.ZipImportError: can't find module 'encodings'

Current thread 0x00004fe4 (most recent call first):

    被打包的文件: helloworld.py, 人人皆知.

    打包的命令: pyinstaller -D helloworld.py

    打包的console提示: 见随后的引述块

    打包发布exe时的纪律(注意事项):

    很简单的py脚本. Simple is better than complex. 应该遵守Python的规则.

    所以在打包为exe时, 应该尽量减少没有必要的python包的导入. 否则吃的太胖

    可以运行的exe文件位于: dist 目录下, 而不是build目录下的.

    运行后的结果:

    D:\\DB\\fz>pyinstaller -D helloworld.py155 INFO: PyInstaller: 3.2.1155 INFO: Python: 2.7.11155 INFO: Platform: Windows-XP-5.1.2600-SP3155 INFO: wrote D:\\DB\\fz\\helloworld.spec155 INFO: UPX is not available.155 INFO: Extending PYTHONPATH with paths
    [\'D:\\\\DB\', \'D:\\\\DB\\\\fz\']155 INFO: checking Analysis155 INFO: Building Analysis because out00-Analysis.toc is non existent155 INFO: Initializing module dependency graph...155 INFO: Initializing module graph hooks...312 INFO: running Analysis out00-Analysis.toc327 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final executable  required by d:\\anaconda2\\python.exe327 INFO: Found C:\\WINDOWS\\WinSxS\\Policies\\x86_policy.9.0.Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_x-ww_b7353f75\\9.0.30729.1.policy327 INFO: Searching for assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww ...327 INFO: Found manifest C:\\WINDOWS\\WinSxS\\Manifests\\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e.manifest327 INFO: Searching for file msvcr90.dll327 INFO: Found file C:\\WINDOWS\\WinSxS\\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e\\msvcr90.dll327 INFO: Searching for file msvcp90.dll327 INFO: Found file C:\\WINDOWS\\WinSxS\\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e\\msvcp90.dll327 INFO: Searching for file msvcm90.dll343 INFO: Found file C:\\WINDOWS\\WinSxS\\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e\\msvcm90.dll343 INFO: Found C:\\WINDOWS\\WinSxS\\Policies\\x86_policy.9.0.Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_x-ww_b7353f75\\9.0.30729.1.policy343 INFO: Adding redirect Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0,30729, 1)484 INFO: Caching module hooks...500 INFO: Analyzing D:\\DB\\fz\\helloworld.py500 INFO: Loading module hooks...500 INFO: Loading module hook "hook-encodings.py"...5405 INFO: Loading module hook "hook-httplib.py"...5421 INFO: Looking for ctypes DLLs5437 INFO: Analyzing run-time hooks ...5452 INFO: Looking for dynamic libraries6155 INFO: Looking for eggs6155 INFO: Using Python library d:\\anaconda2\\python27.dll6171 INFO: Found binding redirects:[BindingRedirect(name=u\'Microsoft.VC90.CRT\', language=None, arch=u\'x86\', oldVersion=(9, 0, 21022, 8), newVersion=(9, 0, 30729, 1), publicKeyToken=u\'1fc8b3b9a1e18e3b\')]6187 INFO: Warnings written to D:\\DB\\fz\\build\\helloworld\\warnhelloworld.txt6280 INFO: checking PYZ6296 INFO: Building PYZ because out00-PYZ.toc is non existent6296 INFO: Building PYZ (ZlibArchive) D:\\DB\\fz\\build\\helloworld\\out00-PYZ.pyz6968 INFO: Building PYZ (ZlibArchive) D:\\DB\\fz\\build\\helloworld\\out00-PYZ.pyz completed successfully.7062 INFO: checking PKG7062 INFO: Building PKG because out00-PKG.toc is non existent7077 INFO: Building PKG (CArchive) out00-PKG.pkg7125 INFO: Building PKG (CArchive) out00-PKG.pkg completed successfully.7140 INFO: Bootloader d:\\anaconda2\\lib\\site-packages\\PyInstaller\\bootloader\\Windows-32bit\\run.exe7140 INFO: checking EXE7155 INFO: Building EXE because out00-EXE.toc is non existent7155 INFO: Building EXE from out00-EXE.toc7171 INFO: Appending archive to EXE D:\\DB\\fz\\build\\helloworld\\helloworld.exe7171 INFO: Building EXE from out00-EXE.toc completed successfully.7187 INFO: checking COLLECT7202 INFO: Building COLLECT because out00-COLLECT.toc is non existent7202 INFO: Building COLLECT out00-COLLECT.toc7218 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 1)7375 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 1)7390 INFO: Updating manifest in C:\\Documents and Settings\\Administrator\\Application Data\\pyinstaller\\bincache00_py27_32bit\\python27.dll7405 INFO: Updating resource type 24 name 2 language 10337468 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 1)7484 INFO: Updating manifest in C:\\Documents and Settings\\Administrator\\Application Data\\pyinstaller\\bincache00_py27_32bit\\unicodedata.pyd7500 INFO: Updating resource type 24 name 2 language 10337546 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 1)7562 INFO: Updating manifest in C:\\Documents and Settings\\Administrator\\Application Data\\pyinstaller\\bincache00_py27_32bit\\_hashlib.pyd7562 INFO: Updating resource type 24 name 2 language 10337609 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 1)7625 INFO: Updating manifest in C:\\Documents and Settings\\Administrator\\Application Data\\pyinstaller\\bincache00_py27_32bit\\_ctypes.pyd7640 INFO: Updating resource type 24 name 2 language 10337687 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 1)7702 INFO: Updating manifest in C:\\Documents and Settings\\Administrator\\Application Data\\pyinstaller\\bincache00_py27_32bit\\_ssl.pyd7718 INFO: Updating resource type 24 name 2 language 10337812 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 1)7827 INFO: Updating manifest in C:\\Documents and Settings\\Administrator\\Application Data\\pyinstaller\\bincache00_py27_32bit\\_socket.pyd7843 INFO: Updating resource type 24 name 2 language 10337875 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 1)7890 INFO: Updating manifest in C:\\Documents and Settings\\Administrator\\Application Data\\pyinstaller\\bincache00_py27_32bit\\select.pyd7905 INFO: Updating resource type 24 name 2 language 10337952 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 1)7968 INFO: Updating manifest in C:\\Documents and Settings\\Administrator\\Application Data\\pyinstaller\\bincache00_py27_32bit\\bz2.pyd7968 INFO: Updating resource type 24 name 2 language 10338046 INFO: Building COLLECT out00-COLLECT.toc completed successfully.D:\\DB\\fz>
追问

这是答非所问啊,我问的是那段错误代码如何解决,不是要你长篇大论的再给我一段代码,而且这是打包成exe的方法,我要的是打包成exe后报错应该怎么解决

参考技术A 这是因为默认安装的Pyinstaller是3.31版本 不支持最新出的Python3.7
可以安装pyinstaller 3.4版本 支持Python3.7
pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz

Python打包方法——Pyinstaller (python3)

 

一、安装Pyinstaller

使用pip命令安装:pip install PyInstaller

 

二、使用Pyinstaller

1、使用下载安装的方式安装的Pyinstaller打包方式

将需要打包的文件放在解压得到的Pyinstaller文件夹中,打开cmd窗口,把路径切换到当前路径打开命令提示行,输入以下内容(最后的是文件名):

  • python pyinstaller.py -F myfile.py

2、使用pip方式安装的Pyinstaller打包方式

打开cmd窗口,把路径切换到文件所在路径(文件随便放在哪里都行)打开命令提示行,输入以下内容(最后的是文件名):

  • pyinstaller -F myfile.py

3、输入参数的含义

  • -F 表示生成单个可执行文件

  • -w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!

  • -p 表示你自己自定义需要加载的类路径,一般情况下用不到

  • -i 表示可执行文件的图标

以上是关于python中我用pyinstaller打包的exe文件打不开,报错如下 是啥问题啊 F的主要内容,如果未能解决你的问题,请参考以下文章

pyinstaller打包技巧

python 使用PyInstaller将程序打包

python-pyinstaller打包

Python打包方法——Pyinstaller (python3)

Python3快速入门(十八)——PyInstaller打包发布

python使用pyinstaller打包项目文件