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”。通过查阅资料,发现是因为没有权限,后来通过管理员权限打开命令行进行上述两个包的安装。

也可以通过VS编译器进行安装:

pyinstaller打包exe文件的详细步骤及过程中遇到的问题_第1张图片

 按照图上的步骤,先选择python环境,在选择你用的是哪个版本的python,最后点击“包(PyPI)”,在下面搜索框中输入pyinstaller,点击“pip install pyinstaller”,VS就会执行这个命令,整个过程会在输出栏里体现。

两个包安装完成后,可通过"pip list"来检测是否安装成功:

  pyinstaller打包exe文件的详细步骤及过程中遇到的问题_第2张图片

 至此,两个包已成功安装。

3、打包exe文件


通过VS安装的pyinstaller库包路径一般为:*\Shared\Python37_64\Scripts.打包指令为:

pyinstaller -F *.py

参考其他博客,有一种方法是直接在当前目录下打开powerShell(按住Shift键的同时右击选择“在此处打开PowerShell窗口”),直接输入上述命令即可,注意上述指令需要python文件在当前目录下。

pyinstaller打包exe文件的详细步骤及过程中遇到的问题_第3张图片

 发现执行上述命令后,并无任何反应。。。。也不知道是哪里出了问题,当时也没有排查原因,有知道的小伙伴可以下面评论下,谢谢。当时换了另外一种方法,就是通过命令行,将路径定位到当前路径下,并执行上述命令。 

pyinstaller打包exe文件的详细步骤及过程中遇到的问题_第4张图片

很不幸,又报错了。。。

问了度娘后知道“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文件夹中。

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

你可能感兴趣的:(python周边,python,visual,studio)