python周边|pyinstaller打包exe文件的详细步骤及过程中遇到的问题

因项目中需要将写好的python文件交给第三方使用,但又不想将源码奉献给别人,所以想着将文件打包成exe文件,方便使用的同时也不暴露源码。---.---
1、本人的配置环境 平台:windows10
编译器:VS2019
2、安装流程 首先需要安装相关的包:pyinstaller包、pywin32包(我也不知道为啥要装这个包,照着弄就完事了。。。。)。我是在vs平台上安装的。一开始我是选择利用cmd通过命令行安装这两个包。

pip install pyinstaller

但是在安装过程中会报错“Defaulting to user installation because normal site-packages is not writeable”。通过查阅资料,发现是因为没有权限,后来通过管理员权限打开命令行进行上述两个包的安装。
【python周边|pyinstaller打包exe文件的详细步骤及过程中遇到的问题】也可以通过VS编译器进行安装:
python周边|pyinstaller打包exe文件的详细步骤及过程中遇到的问题
文章图片

按照图上的步骤,先选择python环境,在选择你用的是哪个版本的python,最后点击“包(PyPI)”,在下面搜索框中输入pyinstaller,点击“pip install pyinstaller”,VS就会执行这个命令,整个过程会在输出栏里体现。
两个包安装完成后,可通过"pip list"来检测是否安装成功:
python周边|pyinstaller打包exe文件的详细步骤及过程中遇到的问题
文章图片

至此,两个包已成功安装。
3、打包exe文件 通过VS安装的pyinstaller库包路径一般为:*\Shared\Python37_64\Scripts.打包指令为:
pyinstaller -F *.py

参考其他博客,有一种方法是直接在当前目录下打开powerShell(按住Shift键的同时右击选择“在此处打开PowerShell窗口”),直接输入上述命令即可,注意上述指令需要python文件在当前目录下。
python周边|pyinstaller打包exe文件的详细步骤及过程中遇到的问题
文章图片

发现执行上述命令后,并无任何反应。。。。也不知道是哪里出了问题,当时也没有排查原因,有知道的小伙伴可以下面评论下,谢谢。当时换了另外一种方法,就是通过命令行,将路径定位到当前路径下,并执行上述命令。
python周边|pyinstaller打包exe文件的详细步骤及过程中遇到的问题
文章图片

很不幸,又报错了。。。
问了度娘后知道“PermissionError: [Errno 13] Permission denied”的意思还是没有相应权限,所以需要管理员权限打开命令行,再进行打包操作,顺利的流程如下所示,中间过程不需要管,最终出现successfully,就恭喜你,成功啦。
D:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\Scripts>pyinstaller -F test817.py 147 INFO: PyInstaller: 4.5.1 147 INFO: Python: 3.7.8 148 INFO: Platform: Windows-10-10.0.19041-SP0 149 INFO: wrote D:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\Scripts\test817.spec 162 INFO: UPX is not available. 164 INFO: Extending PYTHONPATH with paths ['D:\\Program Files (x86)\\Microsoft Visual ' 'Studio\\Shared\\Python37_64\\Scripts', 'D:\\Program Files (x86)\\Microsoft Visual ' 'Studio\\Shared\\Python37_64\\Scripts'] 667 INFO: checking Analysis 718 INFO: checking PYZ 747 INFO: checking PKG 756 INFO: Bootloader d:\program files (x86)\microsoft visual studio\shared\python37_64\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe 757 INFO: checking EXE 760 INFO: Rebuilding EXE-00.toc because test817.exe missing 761 INFO: Building EXE from EXE-00.toc 766 INFO: Copying icons from ['d:\\program files (x86)\\microsoft visual studio\\shared\\python37_64\\lib\\site-packages\\PyInstaller\\bootloader\\images\\icon-console.ico'] 770 INFO: Writing RT_GROUP_ICON 0 resource with 104 bytes 772 INFO: Writing RT_ICON 1 resource with 3752 bytes 772 INFO: Writing RT_ICON 2 resource with 2216 bytes 775 INFO: Writing RT_ICON 3 resource with 1384 bytes 776 INFO: Writing RT_ICON 4 resource with 37019 bytes 776 INFO: Writing RT_ICON 5 resource with 9640 bytes 777 INFO: Writing RT_ICON 6 resource with 4264 bytes 777 INFO: Writing RT_ICON 7 resource with 1128 bytes 784 INFO: Updating manifest in D:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\Scripts\build\test817\run.exe.z1xfyoi3 786 INFO: Updating resource type 24 name 1 language 0 795 INFO: Appending archive to EXE D:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\Scripts\dist\test817.exe 2717 INFO: Building EXE from EXE-00.toc completed successfully.

最终的生成的exe文件是在当前路径下的dist文件夹中。
python周边|pyinstaller打包exe文件的详细步骤及过程中遇到的问题
文章图片

通过命令行执行该exe文件,就能输出你python文件中的内容。

    推荐阅读