将Python打包成可执行文件exe的心路历程

导言:

  我们有时候需要将做好的Python程序打包成为一个exe , 方便我们使用,查找了资料发现 pyinstaller 、py2exe,最后还是选择的pyinstaller,用的时候踩过了挺多的坑,在这里记录一下具体的用法。安装的时候直接在cmd pip install pyinstaller 即可。下面就是我在安装的时候遇到的一些问题。

血泪史:

  安装过程:

    我在安装的时候是通过pip安装pyinstaller ,没想到这一路旅程这么艰辛。

    首先是在安装的时候提示下面的信息,则是pip版本太低, 要更新pip , 按照提示执行:   python -m pip install --upgrade pip

    You are using pip version 9.0.3, however version 10.0.1 is available.
    You should consider upgrading via the 'python -m pip install --upgrade pip' command.

    输入完指令以后提示Requirement already up-to-date: pip in c:\python36\lib\site-packages,  然后查看Pip版本的时候依然是原先的版本。

      解决方法为删除指定文件夹下面的 c:\python36\lib\site-packages   site-packages 文件夹, 然后再次执行   python -m pip install --upgrade pip

    输入完以后我以为万事大吉,然而,太年轻,系统提示我pip   No module named pip  可是我明明安装了Pip还升级了的, 我此刻内心真的是。。。 你懂的经过百度老师的教导,使用如下办法解决

    python -m ensurepip
    easy_install pip

    这个时候就可以了, pip --version 是最新版本, 很舒服。如果不是,再次执行 python -m pip install --upgrade pip。

    pip install pyinstaller   安装成功 ~~ 

  使用:

    首先声明一下我使用的Pychram进行开发的,使用的模块也都是通过pychram安装的,我首先在cmd中包,打包命令 pyinstaller -F test.py  参数 -F表示只生成一个exe文件,打包过程很顺利,但是点击的时候控制台总是一闪而过,  然后也是百度老师告诉我 .\xxx.exe 可以查看报错, 发现是指定的modle没有找到。此时网上查找内容发现要用参数 -p 来导入指定包所在的文件夹  pyinstaller -F -p E:\python\clpicdownload\venv\Lib\site-packages test.py 。加上参数以后顺利执行成功~~~ 撒花撒花,以后可以直接双击执行了,更加方便。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏bboysoul

如何最骚气得在linux下聊qq(mojoqq)

有一天老板让我安装qq,说电脑上没有qq影响工作效率,但是作为 一个热爱linux的人怎么愿意去在linux上安装wine这个挨千刀的东西呢。不过解决办法还是有...

2143
来自专栏pangguoming

Ubuntu 14.04 分区方案

我磁盘大概还有70多G的空间吧,我全部拿来使用的。真实的双系统哦。 一般来讲,linux系统分区最少要包括/和/swap两个。这样据说会影响性能,没有这样安装过...

4096
来自专栏java技术学习之道

常见的Redis面试题及分布式集群讲解

3497
来自专栏狂码一生

windows下Nginx安装与配置

1、下载nginx/windows     官网下载地址:http://nginx.org/en/download.html ? 2、解压: ?     提示:...

56711
来自专栏Python爬虫与数据挖掘

如何在vSphere Client上如何创建虚拟机---靠谱的虚拟机创建教程

前天给小伙伴们介绍了Centos对应版本的下载教程,不懂的童鞋们可以戳进去看看~~

1481

如何在Linux上搭建Terraria 游戏服务器?

Terraria是一款二维沙盒游戏,类似于Minecraft(我的世界),允许玩家在开放的世界中探索,构建和战斗。2015年,Terraria开发者宣布支持Li...

6463
来自专栏JAVA高级架构

Redis面试题及分布式集群

2731
来自专栏漏斗社区

工具| PocSuite 使用介绍

斗哥采访环节 (1)什么是POC? 答:POC是用来验证漏洞是否存在的一段代码,经常对漏洞做检测的同学对写POC这件事应该不陌生吧哈哈。 (2)框架有什么用? ...

5789
来自专栏FreeBuf

西部数据NAS设备被曝存在硬编码后门和未授权文件上传高危漏洞

近日,GulfTech公司安全研究员James Bercegay发现,西部数据(Western Digital)旗下多个MyCloud系列网络存储设备(WDMy...

3305
来自专栏Python自动化测试

Charles获取手机HTTPS请求

在接口测试中,特别是对移动产品的测试,经常要争取APP端的请求来和开发沟通,目前基本都是使用的是HTTPS(超文本传输安全协议)。这里详细的讲下使用...

5185

扫码关注云+社区

领取腾讯云代金券