当python脚本通过测试之后,发送给使用者之前,一般推荐将其编译成为exe文件。exe文件的使用,对于一般使用者更加方便,而且不要求python环境的安装。
不过,在使用pyinstaller编译脚本为exe文件时,需要注意,这时候使用pip list显示的已安装package list越长,那么编译链接进去的package会越多,从而生成的exe文件size会越大。
所以创建虚拟环境,在虚拟环境下安装最少且必需的package,然后使用虚拟环境下的pyinstaller来生成exe(注意,绝对不能以绝对路径使用python安装路径下的script文件夹下的pyinstaller,这会使python和anacoda下的大量package都被编译链接进来,exe的size会大到几百M)。
下面的命令行显示了如何在创建虚拟环境dataprocess,并且在其下将processdata的python脚本生成尽量小size的exe文件。
conda create -n dataprocess
activate dataprocess
conda install -n dataprocess pip
pip pyinstaller
pyinstaller -F processdata.py
#be noted that using pyinstaller from virtual environment, not from $Python_Project/script/pyinstaller.exe, otherwise conda package will be included and exe will be extremely large