Python程序打包—pyinstaller
简介: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的更多相关文章
- 将Python程序打包为exe方法
将Python程序打包为exe文件,需要使用到的工具是pyinstaller pyinstaller是一个多平台的Python程序打包为exe的免费工具 安装pyinstaller: 1,在Windo ...
- python程序打包
环境: CentOS6.5_x64Python版本 : 2.6 使用pyinstaller打包 pyinstaller可以将python程序打包成二进制文件,打包后的文件在没有python的环境中也可 ...
- Python 程序打包成 exe 可执行文件
Python 程序打包工具 Python 是一个脚本语言,被解释器解释执行.它的发布方式: .py 文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装 Python 并且安装依赖 ...
- Python程序打包为可执行文件exe
Python程序打包为可执行文件exe,pyinstaller应用 山重水复疑无路,柳暗花明又一村. 本来是向老师提交一个python程序,因为第一次所以就很尴尬只把源码给老师了,应该是打包成一个可执 ...
- Python:使用Kivy将python程序打包为apk文件
1.概述 Kivy是一套Python下的跨平台开源应用开发框架,官网,我们可以用 它来将Python程序打包为安卓的apk安装文件.以下是在windows环境中使用. 安装和配置的过程中会下载很多东西 ...
- python程序打包工具 ── cx_Freeze
cx_Freeze是一个类似py2exe的工具,它们区别是py2exe是将python程序打包成windows下可以执行的exe文件的,而cx_Freeze则是将python程序打包为linux下可以 ...
- python + pyinstaller 实现将python程序打包成exe文件直接运行
pyinstaller 我们在平常学习使用python的时候经常会自己编写一些小程序来使用,虽然python是跨平台的语言,但是如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序 ...
- Python程序打包工具PyInstaller
Python程序执行 py文件:直接提供源码,需要使用者自行安装Python并且安装依赖的各种库 pyc文件:pyc文件是Python解释器可以识别的二进制码,是跨平台的,需要使用者安装相应版本的Py ...
- 将Python 程序打包成 .exe格式入门
PyInstaller PyInstaller 是一个十分有用的第三方库,可以用来打包 python 应用程序,打包完的程序就可以在没有安装 Python 解释器的机器上运行了. 它能够在 Windo ...
随机推荐
- strtr与str_replace的区别
strtr与str_replace的区别 2013-03-12 10:58:09| 分类: php函数对比 |字号 订阅 strtr跟被替换的字符(from)和替换的字(to)有关系.只是替换fro ...
- PostgreSQL (简称gp)小集
1. SQLyog & Navicat SQLyog可以管理 MySQL Navicat 可以管理 SQL Server,MySQL,PostgreSQL,SQLite 2. 日期及加减 no ...
- hadoop hdfs 元数据 journalnode editslog fsimage
先上图,文章以后再上 截图有先后 所以有些延迟,但是不耽误总体的理解(active-nn=a-nn=active-namenode; s-nn=standby-nn=standby-namenode; ...
- angular.js前端分层开发(页面和js代码分离,并将js代码分层)
一. 抽取模块成base.js文件// 定义模块: var app = angular.module("eshop",['pagination']); 二. 抽取服务成brandS ...
- 使用Shiro登录成功后,跳转到之前访问的页面实现
转:http://blog.csdn.net/lhacker/article/details/20450855 很多时候,我们需要做到,当用户登录成功后,跳转回登录前的页面.如果用户是点击" ...
- python3中最新百度首页弹窗的登录方法
from selenium import webdriverimport timedriver = webdriver.Ie()driver.get("http://www.baidu.co ...
- oracle常用函数详解(详细)
转自:https://www.cnblogs.com/lxl57610/p/7442130.html Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函 ...
- Redis 发布与订阅模式
subscribe 订阅 publish 发布 频道 发布内容
- JavaScript:今天是今年第几周?
用js实现,今天是今年第几周? 基本思路: 1.当前时间 - 今年1月1日0时,拿到时间差(毫秒数) 2.时间差/7天毫秒数,向上取整 var d = new Date('2018-01-01 00: ...
- win10 解决 WMI Provider Host 占用CPU过高问题
真心懒得写Blog,但是之前遇到这个问题在网上查了一大圈,几乎一摸一样都是让关防火墙等服务的,然而对于我来说,并没有毛线用. 无奈,直接去微软社区查,还真有一篇问题解决方案.顺手翻译一下放在这里,希望 ...