PyInstaller打包Python源文件为可执行程序exe
1. 安装PyInstaller
使用命令:pip install PyInstaller时可能会由于网络的问题出现以下问题:
pip._vendor.urllib3.exceptions.ReadTimeoutError:HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
此时修改命令为:pip install --default-timeout=1000 PyInstaller
问题未解决出现了其他问题,使用镜像下载也无法解决;
问题解决:卸载pip,python -m pip uninstall pip,然后在pycharm的settings-project interpreter那里提示缺少文件,直接点击下载,下载的是旧版本pip10.0.1,再使用命令pip install PyInstaller安装成功;
# dos窗口执行以下命令
# 卸载pip
python -m pip uninstall pip
# 通过pycharm提示安装pip(这里会安装到旧版本10.0.0.1),或者到官网上下载pip再通过命令安装
# 此时安装PyInstaller成功
pip install PyInstaller
(旧版本升级提示使用该命令:python -m pip install --upgrade pip,但升级失败,仍旧提示升级,或者出现AttributeError: 'NoneType' object has no attribute 'bytes',这里使用网上给的方法:easy_install -U pip,第一次可能失败,多试几次,成功后使用pip show pip查看版本)
# pip升级
# 升级失败
python -m pip install --upgrade pip
# 改用命令,升级成功
easy_install -U pip
# 查看版本
pip show pip
2. 打包命令的参数
-i icofile:生一个带有图标的exe程序,图标必须是.ico的格式,图片转换成ico格式可以通过比特虫网站
-F:打包成一个独立的exe文件,否则是一个带各种dll和依赖的文件夹
-W:使用窗口界面,无控制台
-c:使用控制台,无窗口界面(小写的c)
-D:创建一个目录,里面包含exe及其他一些依赖性文件
pyinstaller -h:可以查看参数
3. 执行命令命令pyinstaller -F xxx.py
cmd下,在哪个目录下运行该pyinstaller -F xxx.py命令,哪个目录下就会生产build和dist文件夹以及.spec文件,其中.exe文件在dist文件夹下;
当打包目录和源代码目录不一致时,需要用绝对路径;
打包后只需要exe文件即可,其他文件可删除,在没有python的环境下可以直接运行(因为pyinstaller打包了python解析器和脚本);
针对下边这个源代码进行打包:
pyinstaller -F -c -i a.ico test.py
# -c需要终端输入
# 我一起放到了GitHub里了(是一个终端猜词小游戏):https://github.com/NoobZeng/GuessWords/blob/master/test.exe
注意:图标的大小大小要适当,太大会报错:ValueError: read length must be non-negative or -1
4. 关于图标
将图标从dist目录移到其他地方,如果是看到python样式的,需要移动一下位置;
PyInstaller打包Python源文件为可执行程序exe的更多相关文章
- 使用pyinstaller打包Python应用,生成EXE执行文件
在命令行中切换到要打包的程序所在目录,或者在程序目录打开命令行,直接输入下面的指令即可pyinstaller -F xxx.py pyinstaller -F -w -i manage.ico app ...
- 使用PyInstaller打包Python角本为exe程序
一.经过测试 在Windows平台请使用Windows平台的pyinstaller,Linux平台请使用Linux平台的Pyinstall角本. 二.命令如下: pyinstaller -F --ic ...
- Pyinstaller 打包python 到exe 在windows下免python环境运行python
在创建了独立应用(自包含该应用的依赖包)之后,还可以使用 PyInstaller 将 Python 程序生成可直接运行的程序,这个程序就可以被分发到对应的 Windows 或 Mac OS X 平台上 ...
- PyInstaller 打包 python程序成exe
pychaim下PyInstaller 打包 python程序 主题是使用PyInstaller 打包python时遇到一些问题以及解决方案,其中将要打包的程序是用tensorflow做的LSTM算法 ...
- “failed to excute script xxx” PyInstaller 打包python程序为exe文件过程错误
在使用PyInstaller打包python程序,打包命令为: pyinstaller -F -w -i manage.ico yourpyfile.py 顺便说一下几个参数的作用 -F:是直接生成单 ...
- pyinstaller linux系统下打包python源文件
将python程序放在其他linux服务器中执行,通常linux服务器中默认安装python2.6,很多情况下需要升级为2.7 且要安装程序中需要的第三方模块,配置较为麻烦,所以通过在本地linux ...
- PyInstaller打包python脚本的一些心得
PyInstaller打包python脚本的一些心得 因为在公司经常要帮同事做一个从excel表格中提取出需要的内容的重复工作,比较繁琐还容易出错:于是就想着要写个程序,但是同事又不可能在电脑上也装上 ...
- 树莓派(Raspbian系统)中使用pyinstaller封装Python代码为可执行程序
一.前言 将做好的Python软件运行在树莓派上时,不想公开源码,就需要对文件进行封装(或称打包),本文主要介绍使用pyinstaller封装Python代码为可执行程序. Python是一个脚本语言 ...
- (转)使用 PyInstaller 把python程序 .py转为 .exe 可执行程序
最近使用Python为项目开发一款绘图工具(绘出 声场三维模型).因为希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个的exe文件.PyInstaller恰满足这个需求.本 ...
随机推荐
- C/C++ warning C4251: class ... 需要有 dll 接口由 class“..” 的客户端使用
{ 在DLL编程中, 如果调用模版类, 则可能出现类似以下的错误: 1>xclock.h(29): warning C4251: “XClock::m_FileName”: class“std: ...
- Java——对象
1.2对象 1.2.1 对象的创建和使用 ①使用new + 构造器创建一个新的对象: ②使用“对象名.对象成员”的方式访问对象成员(包括属性和方法). public class Animal { pu ...
- 【基础】Hint控制语句执行
mysql常用的hint对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法.同样,在mysql里,也有类似的hint功能.下面介绍一些常用的. ...
- mac系统下通过安装包的形式安装mongdb
下载地址 mongoDB mongoDB 图形化管理软件 MongoDB Compass 下载完成后,进行解压,解压后的文件进行重命名 mongodb 然后前往/usr/local,将mongodb文 ...
- Impala的安装和使用
通过本地yum源进行安装impala 所有cloudera软件下载地址 http://archive.cloudera.com/cdh5/cdh/5/ http://archive.cloudera. ...
- Python中将dict转换为kwargs
Python中将dict转换为kwargs 我们都知道kwargs是变长kv参数,能否将dict转换成kwargs. 在python调用函数的时候func(**{'type'='event'}),可以 ...
- fasttext的基本使用 java 、python为例子
fasttext的基本使用 java .python为例子 今天早上在地铁上看到知乎上看到有人使用fasttext进行文本分类,到公司试了下情况在GitHub上找了下,最开始是c++版本的实现,不过有 ...
- solr +zookeeper+tomcat 集群搭建
最近需要搭建一个cloudSolr集群,写下记录.基础环境是在centos6.5 64bit 3个下载地址: 1. 下载Solr-4.x http://lucene.apache.org/solr/d ...
- 基于pandas数据预处理基础操作
# -*- coding: utf-8 -*- import numpy as np import pandas as pd #一.创建数据 #1.通过传递一个list对象来创建一个Series,pa ...
- Git创建本地库过程