当大家想要将自己写的Python程序对别人进行展示的时候,你是否还是打开你的Pycharm进行运行展示?

假如是专业的人士看你的代码,一眼就能看懂你的代码,而其实我们可以不需要给代码,利用pyinstaller直接将你的Python程序打包成.exe文件格式,发给别人进行展示时,别人就会就像安装一个软件一样,直接点击exe文件就可以运行,完全封装好,别人看不到你的代码,你也再也不用一个一个得进行运行展示了,直接丢你已经打包好了的.exe文件程序就好了,是不是即保密又省时?

就像下面这样,直接点击.exe文件就可以运行了:

https://zhuanlan.zhihu.com/p/160182242

使用pyinstaller可以将你的.py文件直接转换成.exe格式,在没有部署python环境的windows机器上直接运行你的程序,PyInstaller 是一个用来将 Python 程序打包成一个独立可执行软件包,支持 Windows、Linux 和 Mac OS X。

话不多说,马上教大家如何操作:

第一步:我们需要准备好需要转换的py文件和一张用于做图标的照片,将他们存放于同一个文件夹中。

没有图标的.ico文件?

这里提供一个可以将图片转换为图标文件的网站:http://www.bitbug.net/,点击选择文件,选择你想要转换的图片,输入附加码,点击生成ico图标,就自动生成好了如上图的.ico图标

注意:文件的路径全部为英文路径

第二步:在放你的python文件的环境里面,添加镜像源下载安装好pyinstaller,命令如下:

pip install -i https://pypi.douban.com/simple pyinstall

第三步:安装好后,用cmd命令切换激活到你程序所在的环境里面,我的放在了我创建的py35环境中,然后定位到你程序存放的地方,如下图我的程序放在D:\Project\Demo下,然后输入命令:pyinstaller --icon=lover.ico -F lover.py,将你.exe程序换上你想换上的图标,这里我制作的的icon为lover.ico,-F参数是指示生成exe文件,lover.py就是你想要转换为.exe文件的.py文件了。

开始运行,等待运行结束

运行结束后,我们会发现在我们存放项目的文件夹内会多出四个文件,则运行成功,其中我们打包好了的.exe文件就存放在dist文件夹内,然后你将你的exe文件发给别人,就可以运行了。

这里需要提醒的是:假如你的python程序里面带有图片或者视频的话,你需要将你的图片和.exe文件同时发给对方,这就像你在应用商店下载一个程序软件时,为什么它安装好的安装包里面会有图标之类的文件的存在。

另外在你使用pygame模块的load图片时,建议使用相对路径,这样别人运行时才可以加载你的图片,否则使用绝对路径的话,如D:\这种形式,别人是无法在自己的电脑上找到在你的绝对路径图片的。

很多人在使用相对路径的时候,往往会出现图片加载错误,pygame.error: Couldn't open ./image/...,而出现闪退问题

这是因为我们将我们的.exe文件和我们图片不是按照我们之前使用的相对路径进行存放,这里需要我们将我们的.exe文件和图片放在同级目录下,这样点击.exe文件就可以加载图片运行了,如开头。

到此,你就可以将上述文件的内容发给你想要发送的人直接运行展示了,无需你将你的代码发过去了,想要源代码,在后台回复关键字:表白神器,即可获取。

写了这么久,希望您们能够给我点个在看,您们的支持是我继续创作的动力。

更多有关python、深度学习和计算机编程和电脑知识的精彩内容,可以关注微信公众号:码农的后花园

Python文件.py转换为.exe可执行程序,制作.exe文件图标的更多相关文章

  1. 将python包发布到PyPI和制作whl文件

    参考链接:wheel和egg的不同怎样将自己写的包传达到PyPi发布你自己的轮子 - PyPI打包上传实践PyPI官网上传包教程 wheel文件Wheel和Egg都是python的打包格式,目的是支持 ...

  2. Python自制小时钟,并转换为exe可执行程序详解

    一,简介Python写完程序,要靠命令来执行太LOW,太低调了,还不华丽了. 再说别人的电脑,都没有Python库,怎么执行,还能不能愉快的一起玩耍了. 所以哪怕只会写一个HelloWorld,也要弄 ...

  3. 将Python源程序打包成可独立执行的文件

    有时候需要将编写好的脚本发送给别人,但是在没有安装运行环境或依赖库的情况下,Python脚本程序无法执行.PyInstaller工具可以快速的将python脚本打包成一个二进制可执行的exe程序,并且 ...

  4. 简单python脚本,将jupter notebook的ipynb文件转为pdf(包含中文)

    直接执行的python代码ipynb2pdf.py 主要思路.将ipynb文件转成tex文件,然后使用latex编译成pdf.由于latex默认转换不显示中文,需要向tex文件中添加相关中文包. 依赖 ...

  5. Django 中 python manage.py makemigrations 与 python manage.py migrate

    执行 python manage.py makemigrations django根据settings.py里面的INSTALLED_APPS项设置找到对应app里的models.py,应用里面创建的 ...

  6. python -m xxx.py和python xxx.py的区别

    先看下python -m site作用是显示sys.path的值内容,也就是python搜索模块的目录,作用类似于linux下的PATH python -m SimpleHTTPServer 会在sy ...

  7. Python的.py文件打包成exe可执行文件

    前几天做了几个简单的爬虫python程序,于是就想做个窗口看看效果. 首先是,窗口的话,以前没怎么接触过,就先考虑用Qt制作简单的ui.这里用前面sinanews的爬虫脚本为例,制作一个获取当天sin ...

  8. (转)使用 PyInstaller 把python程序 .py转为 .exe 可执行程序

    最近使用Python为项目开发一款绘图工具(绘出 声场三维模型).因为希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个的exe文件.PyInstaller恰满足这个需求.本 ...

  9. python生日贺卡制作以及细节问题的解决最后把python项目发布为exe可执行程序过程

    自己今天第一次做一个python生日贺卡: 效果图 参考之前有位大佬的作品,自己稍微的改造了一下下  首先:上程序 Birthday.py """ ----------- ...

随机推荐

  1. CSS可见格式化模型

    1.盒模型 1.1 盒子大小 盒模型描述了元素如何显示,以及如何相互作用.相互影响. 页面中的所有元素都被看作一个矩形盒子,这个盒子包含元素的内容.内边距.边框和外边距. 给元素应用的背景会作用于元素 ...

  2. Kubeflow实战: 入门介绍与部署实践

    更多内容关注专辑: 机器学习实战 1 介绍 Kubeflow是在k8s平台之上针对机器学习的开发.训练.优化.部署.管理的工具集合,内部集成的方式融合机器学习中的很多领域的开源项目,比如Jupyter ...

  3. 谁来教我渗透测试——黑客必须掌握的HTML基础(一)

    小伙伴们,好几天不见了,这一周菜鸟小白工作很忙,所以没有每天更新学习内容,但是菜鸟小白的学习是没有停下来的,只是没有时间来整理学习笔记了.现在就将菜鸟小白这两天学习的HTML基础和大家分享,其中还会拿 ...

  4. 论如何实现最强大脑黑白迭代(c++附代码)

    最近看了最强大脑,对节目中的黑白迭代很感兴趣,就自己写了一个500多行的程序.燃鹅,只实现了一部分功能,还非常简陋.无奈之下,我只好从网上下载了一份代码,然后自己稍加修改就成了一份半改编的代码. 虽然 ...

  5. 【笔记】springCloud--Alibaba--nacos介绍----启动报错解决方案

    Nacos介绍 · 欢迎来到 Nacos 的世界! · Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管 ...

  6. 群晖系统设置链路聚合并配置静态IP的教程【江东网 JDX86.COM】

    1.进入控制面板 > 网络 > 网络接口.请单击创建 > 创建 Bond 2.进入聚合配置向导,选择你想要的模式,这里有几种模式意思分别为: 自适应负载平衡: 此模式优化了 Syno ...

  7. Maccms 后门分析

    (该文参考网络他人资料,仅为学习,不许用于非法用途) 一.环境 攻击者  : Kali Linux 被攻击者 :Windows Maccms 网站基于php+mysql 的系统,易用性.功能良好等优点 ...

  8. Antd cracoTs Js 配置流程

    JS:文档:0.1.4 配置 js 环境.note链接:http://note.youdao.com/noteshare?id=e32fa75c1baa014b5819fa5e22887dbc& ...

  9. JavaScript学习系列博客_12_JavaScript中的break、continue关键字

    break关键字 -break关键字可以用来退出switch或循环语句 -不能在if语句中使用break和continue,但不是说if语句里面不能写break关键字,break关键字一定要包含在sw ...

  10. 第4章 SparkSQL数据源

    第4章 SparkSQL数据源 4.1 通用加载/保存方法 4.1.1 手动指定选项 Spark SQL的DataFrame接口支持多种数据源的操作.一个DataFrame可以进行RDDs方式的操作, ...