用 pyinstaller、-F -w等打包方式生成 exe 后,都出现错误,是怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用 pyinstaller、-F -w等打包方式生成 exe 后,都出现错误,是怎么回事?相关的知识,希望对你有一定的参考价值。

参考技术A

    首先安装pyinstaller下载地址:7827835传统方式:通过命令提示符cd到该解压的(和setup.py同一目录),然后输入pythonsetup.pyinstall或者直接在命令提示符中输入pipinstallpyinstaller通过piplist可以查看你所有安装的包以及包的版本

    开始打包成exe1、命令提示符cd到需要打包的文件的目录,直接在命令提示符中输入pyinstaller-F文件名.py注意F要大些,呵呵就这么简单

    打包成功后会出现两个文件夹,其中一个就是所需要的exe文件;

    注:若是gui文件可以在输入pyinstaller-F-w文件名.py其中w是小写,意思就是五命令行窗口,默认的是-c有命令行窗口,当然一般的文件也可以-w,这样命令行窗口就没有了。pyinstaller的其他常用的参数--icon=图标路径-F打包成一个exe文件-w使用窗口,无控制台-c使用控制台,无窗口-D创建一个目录,里面包含exe以及其他一些依赖性文件还有一些可以通过pyinstaller-h来查看参数。

参考技术B

用 pyinstaller、-F -w等打包方式生成 exe 后,都出现错误可能的原因以及解决措施如下:

1.如果你用的第三方模块是用vc2008 sp1 express编译的话。可能会碰到一个BUG。据说是因为vc2008 sp1在manifest文件写的是原版crt的版本号,但是实际上用的是新版本的crt。

2.你可以让用户安装msvcrt看看。只带动态链接库的话,解决办法比较麻烦,要改manifest的版本号。

参考技术C

1、如果你用的第三方模块是用vc2008 sp1express编译的话。可能会碰到一个BUG。

2、据说是因为vc2008 sp1在manifest文件写的是原版crt的版本号,但是实际上用的是新版本的crt。

3、你可以让用户安装msvcrt看看。只带动态链接库的话,解决办法比较麻烦,要改manifest的版本号。

封装 pyinstaller -F -i b.ico excel.py

  1. 安装pywin32,可以参考《怎么给python安装pywin32模块?》

    一定要注意对应的python版本,否则不能安装。

    技术图片
  2. 2

    用命令行调用pip安装pyinstaller。

    技术图片
  3. 3

    准备一个py文件。

    我这里准备的是一个爬取电子书的python文件——00.py。

    技术图片
  4. 4

    准备一个图片,作为exe的图标:

    b.ico

    注意图片格式是ico的,大小为32*32,不要太大。没有的话,可以在网上免费转格式。

    把00.py和b.ico放到一个目录里面——C:\a

    技术图片
  5. 5

    把cmd的当前目录切换到C:\a。

    技术图片
  6. 6

    然后执行命令行:

     pyinstaller -F -i b.ico 00.py

    技术图片
  7. 7

    运行之后,cmd变成了这样。

    技术图片
    技术图片
  8. 8

    在C:\a目录里面,多出了几个文件夹。

    可执行文件00.exe就在dist文件夹里面。

    技术图片
  9. 9

    双击可执行文件,会弹出一个命令提示符端口,提示你输入书号。

    按照格式输入书号,点击回车键,就可以在dist文件夹里面,看到一章章的电子书被下载下来了。

    技术图片
    END

以上是关于用 pyinstaller、-F -w等打包方式生成 exe 后,都出现错误,是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

Pyinstaller使用

pyinstaller 简单用法

Pyinstaller“无法执行主要脚本”问题[重复]

有人用 Pyinstaller 成功地将数据文件捆绑到一个文件中吗?

pyinstaller的用法,用python制作简单的exe小程序,详细的不能再详细了

PyInstaller 和超过 8 个字符的 MEIPASS 文件夹