当大家想要将自己写的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漂亮盒子(上)

    HTML文档中的所有元素都是由矩形盒子构成的--不管是包含页面结构的容器元素,还是段落中的每行文本,归根结底都是盒子. 1.背景颜色 设置页面背景颜色. body { background-color ...

  2. 18、Memento 备忘录模式

    例如:用于记录快照(顺势状态).存盘 1.Memento Memento设计模式是一种软件设计模式,用于将对象回滚到其先前状态.它是行为设计模式的一部分,与算法和对象之间的职责分配有关. 行为模式描述 ...

  3. CentOS7 安装 SonarQube

    安装 SonarQube 环境 系统 CentOS 7 数据库 postgresql 10 系统配置 查看系统配置 sysctl vm.max_map_count sysctl fs.file-max ...

  4. java_数据类型转换、运算符

    数据类型转换 Java程序中要求参与计算的数据,必须要保证数据类型一致,如果数据类型不一致将发生类型的转换. 1.1 自动转换 一个 int 类型变量和一个 byte 类型变量进行加法运算,运算结果, ...

  5. NGINX+PHP+POSTGRESQL+ZABBIX 5.X

    安装前准备工作 系统及应用版本 centos 8.3 nginx 1.18 php 7.4.8 postgresql 12.3 zabbix 5.0.2 安装编译环境依赖包 dnf -y instal ...

  6. C#LeetCode刷题之#447-回旋镖的数量(Number of Boomerangs)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3792 访问. 给定平面上 n 对不同的点,"回旋镖&q ...

  7. 阿里云体验实验室 教你如何《快速搭建LNMP环境》

    ## 体验平台简介 面向开发者和中小企业打造的一站式.全云端的开发平台,打开浏览器就可以开发.调试.上线,所测即所得,并结合无服务器的模式,重新定义云原生时代的研发工作方法论.旨在降低开发者上手成本和 ...

  8. HotSpot的执行引擎-CallStub栈帧

    之前多次提到接触到调用JavaCalls::call()方法来执行Java方法,如: (1)Java主类装载时,调用JavaCalls::call()方法执行的Java方法checkAndLoadMa ...

  9. 秒杀 2Sum 3Sum 4Sum 算法题

    2 Sum 这题是 Leetcode 的第一题,相信大部分小伙伴都听过的吧. 作为一道标着 Easy 难度的题,它真的这么简单吗? 我在之前的刷题视频里说过,大家刷题一定要吃透一类题,为什么有的人题目 ...

  10. 国人开源了一款超好用的 Redis 客户端,真香!!

    大家都知道,Redis Desktop Manager 是一款非常好用的 Redis 可视化客户端工具,但可惜的是 v0.9.4 版本之后需要收费了: 这个工具不再免费提供安装包了,要对所有安装包收费 ...