python:使用pyinstall将py转化为exe

# python

# 未完成

1
2
3
4
5
我的pyinstaller并没有调试好,

在这样的一通操作后生成的exe并不能正常运行

我没有找到解决的办法,似乎是pyinstaller默认安装到了系统内部的python上,而不是conda的虚拟环境内,导致虚拟环境内的包并没有被打包进exe

为了方便py代码可以在其他没有python环境的设备上运行,使用pyinstall将其打包为exe格式是一种十分简单的方法。但是在安装并使用pyinstall的过程中,本人遇到了不少麻烦,而后摸索出了正确的路,下面记录以下我的历程。

背景

win11,安装了anaconda和vs,这两个不共用一个python

所以说在安装之前还需呀将anaconda的python设置为首选的python,将其在环境变量中的优先级提高。

安装历程

安装pyinstall

使用:

pip install pyinstaller

来安装pyinstall

执行pyinstall

正常执行pyinstaller -c -F textMessage.py就可以在显示打包进程的前提之下打包py文件了。
但是这个时候会报错:

‘pyinstaller’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

这个时候就需要将pyinstall.exe添加置系统变量里面的PATH,但是anconda的文件十分的杂乱,我找了半天都没有找到,最后是使用everything^[1]来对电脑文件进行检索找到的。下面是我的路径:

C:\Users\Lenovo\AppData\Roaming\Python\Python310\scripts\pyinstaller.exe

pyinstall报错

在能运行pyinstall之后,pyinstall报错了:The 'pathlib' package is an obsolete backport of a standard library package and is incompatible with PyInstaller.

pathlib是一个anaconda自带的过时的包,pyinstall不支持这个包,将这个包删除即可:python -m pip install pathlib

[1]:”Everything“ 是 Windows 上文件名搜索引擎。Command Line Interface - voidtools


Reference

conda config –remove-key channels