gjfvip123 2018-06-05 00:13 采纳率: 0%
浏览 3444
已结题

python 使用pyinstall 将文件转成.exe的方法

我要打包的文件在D:\WebShot下,分别有两个文件,init.py和WebShot.py.
init.py依赖于WebShot.py,就是init.py导入了WebShot.py。
WebShot.py还导入了很多标准库模块和外部模块。
如图:

图片说明

图片说明

请高手告诉我应该怎么打包?谢谢。

之前自己打包报错了。。。

图片说明

  • 写回答

4条回答 默认 最新

  • 四叶草的守望 2018-06-05 00:49
    关注

    先要注意一下:打包python文件成exe格式这个过程只能在windows环境下运行

    1. 直接在命令行用pip安装 pyinstaller

    pip install pyinstaller
    2. 下载安装pyinstaler运行时所需要的windows拓展---pywin32

    pywin32:http://sourceforge.net/projects/pywin32/files/pywin32/
    点击最新的Build再点击pywin32-219.win-amd64-py2.7.exe(这里要根据你的windows x86或者x64和你的python版本来选择)

    3.在命令行中切换到要打包的程序所在目录,直接输入下面的指令即可

    pyinstaller -F demo.py
    参数 含义
    -F 指定打包后只生成一个exe格式的文件
    -D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
    -c –console, –nowindowed 使用控制台,无界面(默认)
    -w –windowed, –noconsole 使用窗口,无控制台
    -p 添加搜索路径,让其找到对应的库。
    -i 改变生成程序的icon图标
    注意事项:

    生成文件中,可能包含一个以warn开头的类似warndemo.txt的警告文件
    这很明显,是因为程序无法自动导入很多的库
    使用-p参数添加搜索路径
    pyinstaller.py -F -p C:\python27; ..\demo.py #注意当前目录是我在下一级目录里
    2.添加icon图标

    pyinstaller.py -F -p C:\python27; -i ..\a.ico ..\demo.py
    对了,这里有个网址可以参考一下

    后话:

    我按照自己写的步骤在自己电脑上试了一下是可以的,但是将exe拷贝到别人电脑上用了一下,发现出了一个这样的错误

    F:\qq文件\a>AutoRecord.exe
    Traceback (most recent call last):
    File "", line 21, in
    File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyi_importers.py", line
    507, in install
    File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyi_importers.py", line
    156, in init
    ImportError: Can't load frozen modules.
    这个问题是因为他的运行目录里面包含了中文,要处理中文要从github上面安装最新的pyinstaller

    git clone https://github.com/dkw72n/pyinstaller.git
    python setup.py install
    然后重新打包.py文件再次发给对方就可以解决这个问题了

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?