当大家想要将自己写的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. spring boot项目集成zuul网关

    1 zuul简介 Zuul 的官方介绍是 “Zuul is the front door for all requests from devices and web sites to the back ...

  2. 发布新版首页“外婆新家”升级版:全新的UI,熟悉的味道

    在7月30日我们我们忐忑不安地发布了新版网站首页,发布后迎接我们的不是新颜新风貌的惊喜,而是我们最担心的残酷现实——“让我们等这么多年,等来的就是这个新的丑容颜”,在大家的批评声中我们深深地认识到我们 ...

  3. java开发在线下载功能,自动打开浏览器下载功能下载网络文件或图片

    因为业务的需要,公司产品要求商品详情页面有个下载的功能 找了很多的方法,发现有的需要打开一个新窗口,而且在某些浏览器上不适用,所以继续寻找更好的方法 跟同事沟通后发现他那里有个下载的方法,不过是C#写 ...

  4. JAVA三种多线程实现方法和应用总结

    最近在做代码优化时学习和研究了下JAVA多线程的使用,看了菜鸟们的见解后做了下总结.1.JAVA多线程实现方式JAVA多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用Exe ...

  5. java 多态二

    一 多态-转型 多态的转型分为向上转型与向下转型两种: 向上转型:当有子类对象赋值给一个父类引用时,便是向上转型,多态本身就是向上转型的过程. 使用格式: 父类类型  变量名 = new 子类类型() ...

  6. golang的fmt

    前言 不做文字搬运工,多做思路整理 就是为了能速览标准库,只整理我自己看过的...... 注意!!!!!!!!!! 单词都是连着的,我是为了看着方便.理解方便才分开的 1.fmt 中文文档 [英文文档 ...

  7. Elasticsearch+SpringBoot报NoNodeAvailableException解决方案

    Elasticsearch整合SpringBoot 首先大家在整合的时候一定要注意版本兼容问题,此问题尤为重要 Elasticsearch简称Es 在使用SpringBoot整合Elasticsear ...

  8. Dubbo系列之 (二)Registry注册中心-注册(2)

    引导 本章主要介绍下AbstractRegistry.FailbackRegistry的作用和源码. AbstractRegistry 首先,直接引出这个类的作用,该类主要把服务提供者信息缓存本地文件 ...

  9. SQL Server 异常代码处理

    SQL Server使用TRY...CATCH 结构实现TSQL语句的错误处理,TRY命令负责监控语句执行的情况,如果有TSQL语句发生异常,并且严重级别(Severity Level)大于10,并且 ...

  10. run as --> Maven clean 可以清除旧的jar包

    run as --> Maven clean 可以清除旧的jar包