简介:PyInstaller是一个十分有用的第三方库,通过对源文件打包,Python程序可以在没有安装 Python的环境中运行,也可以作为一个独立文件方便传递和管理。

PyInstaller的官方网站址为http://www.pyinstaller.org/

安装:在命令行使用pip install pyinstaller安装即可。(win+r,输入cmd,打开命令行)

使用:使用 PyInstaller库十分简单,假设python_test在D盘根目录下,则只需在命令行敲入如下指令:

>pyinstaller D:\python_test.py

执行完成后,将会生成dist和build两个文件夹。(文件生成位置与cmd起始位置有关)其中 ,build 目录是 pyinstaller存储临时文件的目录,可以安全删除。最终的打包程序在dist内部的python_test文件夹下。目录中其他文件是可执行文件python_test.exe的动态链接库。

常用参数的使用方法如下:

(1)-h

pyinstaller 命令的常用参数使用通过在命令行中输入: >pyinstaller –h即可,截取常用其中一段如下图所示:

(2)-i 或者--icon   && -w

例如:--icon参数的使用如下:(指定打包程序使用的图标文件)

>pyinstaller -F --icon="D:\a.ico" D:\python_test.py

>pyinstaller -F -w -i D:\tmp\main.ico D:\python_test.py

-F 表示生成单个可执行文件,执行后dist目录中出现了python_test.exe文件,没有任何依赖库,执行它即可。
-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
-i 表示可执行文件的图标

使用 PyInstaller库需要注意以下问题:

◆ 文件路径中不能出现空格和英文句号(.);

◆ 源文件必须是UTF-8编码,暂不支持其他编码类型。采用IDLE编写的源文件都保存为UTF -8编码形式,可直接使用即可。

使用python3打包时,注意pyinstaller 模块包名称变成PyInstaller

PyInstaller -F xxx.py

相对路径问题:No such file or directory: 'C:\Users\...\AppData\Local\Temp\_MEI***'

使用pyinstaller打包时,如果脚本中相对路径会报错,是因为转换为exe后,只有一个exe文件了,而exe文件执行时,会将资源释放到temp文件夹下再执行,但是原来的数据文件st并没打包和释放,这样就会找不到文件。

简单解决方法:

最后发现比较简单的解决方案只要将python代码中的数据文件拷贝到dist文件夹下,如dist/data/stopwordsFile.txt,在python代码中读取文件时文件路径为stopwordsFile=r"data/stopwordsFile.txt"就可以了。

可参考:https://blog.csdn.net/pipisorry/article/details/50620495

转自:http://blog.csdn.net/i_chaoren/article/details/56019823

Python程序打包—pyinstaller的更多相关文章

  1. 将Python程序打包为exe方法

    将Python程序打包为exe文件,需要使用到的工具是pyinstaller pyinstaller是一个多平台的Python程序打包为exe的免费工具 安装pyinstaller: 1,在Windo ...

  2. python程序打包

    环境: CentOS6.5_x64Python版本 : 2.6 使用pyinstaller打包 pyinstaller可以将python程序打包成二进制文件,打包后的文件在没有python的环境中也可 ...

  3. Python 程序打包成 exe 可执行文件

    Python 程序打包工具 Python 是一个脚本语言,被解释器解释执行.它的发布方式: .py 文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装 Python 并且安装依赖 ...

  4. Python程序打包为可执行文件exe

    Python程序打包为可执行文件exe,pyinstaller应用 山重水复疑无路,柳暗花明又一村. 本来是向老师提交一个python程序,因为第一次所以就很尴尬只把源码给老师了,应该是打包成一个可执 ...

  5. Python:使用Kivy将python程序打包为apk文件

    1.概述 Kivy是一套Python下的跨平台开源应用开发框架,官网,我们可以用 它来将Python程序打包为安卓的apk安装文件.以下是在windows环境中使用. 安装和配置的过程中会下载很多东西 ...

  6. python程序打包工具 ── cx_Freeze

    cx_Freeze是一个类似py2exe的工具,它们区别是py2exe是将python程序打包成windows下可以执行的exe文件的,而cx_Freeze则是将python程序打包为linux下可以 ...

  7. python + pyinstaller 实现将python程序打包成exe文件直接运行

    pyinstaller 我们在平常学习使用python的时候经常会自己编写一些小程序来使用,虽然python是跨平台的语言,但是如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序 ...

  8. Python程序打包工具PyInstaller

    Python程序执行 py文件:直接提供源码,需要使用者自行安装Python并且安装依赖的各种库 pyc文件:pyc文件是Python解释器可以识别的二进制码,是跨平台的,需要使用者安装相应版本的Py ...

  9. 将Python 程序打包成 .exe格式入门

    PyInstaller PyInstaller 是一个十分有用的第三方库,可以用来打包 python 应用程序,打包完的程序就可以在没有安装 Python 解释器的机器上运行了. 它能够在 Windo ...

随机推荐

  1. Oracle生成关闭外键的SQL语句

    select 'alter table ' || t.table_name || ' disable constraint ' || t.constraint_name || ';' from DBA ...

  2. springBoot整合MongoDB(单机)

    依赖: <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-mon ...

  3. java poi处理excel多sheet并实现排序

    需求:有一个数据字典全量汇总表,其中第一个sheet为目录,包括编号和表名,第二个以后为表的明细.其中sheet名就是表名但无序,sheet内字段序号无序有空行 现在要求将其中101,104,107, ...

  4. 【ASP.NET 进阶】判断访问网站的客户端是PC还是手机

    主要就是通过客户端传递的User-agent来判断访问网站的客户端是PC还是手机,.NET中就是Request.ServerVariables["HTTP_USER_AGENT"] ...

  5. leetcode41

    package main import ( "fmt" ) func firstMissingPositive(nums []int) int { m := make(map[in ...

  6. JS 异步分段上传文件

    为了解决大文件上传 (PHP上传最大限制2GB) 同时为了解决文件上传是对服务器造成的压力 可以通过分段上传解决这个问题,这得益于HTML5开发的file API 前台代码: 引用了进度条插件myPr ...

  7. [转] golang socket

    server.go package main import ( "net" "fmt" "io/ioutil" "time&quo ...

  8. WeakReference与SoftReference

    WeakReference与SoftReference都可以用来保存对象的实例引用,这两个类与垃圾回收有关. WeakReference是弱引用,其中保存的对象实例可以被GC回收掉.这个类通常用于在某 ...

  9. django 之manytomany

    https://www.cnblogs.com/changbaishan/p/8056762.html https://blog.csdn.net/hpu_yly_bj/article/details ...

  10. hadoop-1

    结合其他文章 http://weixiaolu.iteye.com/blog/1504898 https://www.cnblogs.com/dycg/p/3934394.html https://b ...