将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 。加上参数以后顺利执行成功~~~ 撒花撒花,以后可以直接双击执行了,更加方便。