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样式的,需要移动一下位置;

最新文章

  1. js 输出数组最大值
  2. for循环的嵌套,for循环的穷举迭代
  3. map遍历
  4. Xamarin Anroid开发教程之验证环境配置是否正确
  5. 再论EM算法的收敛性和K-Means的收敛性
  6. fstat - 读取文件相关信息
  7. UML_活动图
  8. [置顶] Android系统移植与调试之------->如何修改Android设备状态条上音量加减键在横竖屏的时候的切换与显示
  9. Java安全机制之泛型(JDK1.5)
  10. hdu_1536_S-Nim(DFS_SG博弈)
  11. 在word表格里打勾和打叉
  12. Prison 监狱
  13. Cocos2D:塔防游戏制作之旅(八)
  14. Solr 11 - Solr集群模式的部署(基于Solr 4.10.4搭建SolrCloud)
  15. 对XML文件进行的修改
  16. 2.2 if语句
  17. 选择一个 HTTP 状态码不再是一件难事 – Racksburg《转载》
  18. Go语言专题
  19. LDAP服务器的概念和原理简单介绍
  20. 团队-UML

热门文章

  1. 【JZOJ3293】【BZOJ4416】【luoguP3989】阶乘字符串
  2. 使用JS实现快速排序
  3. R语言 环境设置
  4. PHP ftp_rmdir() 函数
  5. Java高新技术第二篇:反射技术
  6. nlp总结
  7. 基于SPI的数据报过滤原理与实现
  8. 引入CSS的方法
  9. class7_Checkbutton 勾选项
  10. 高手总结CSS书写技巧