pyinstaller, pipenv 打包成exe文件
用pyinstaller打包py成exe应用程序时,在Anaconda环境下生成的exe文件会特别大,有300多M,网上说是因为pyinstaller会将anaconda环境下的所有包都打进去,所以可以通过使用虚拟环境的方法减小生成exe文件的大小。这里用命令行的方法,先pip install pipenv,整一个pipenv。
步骤如下:
- 打开Anaconda Prompt
- cd 到项目所在路径
- pipenv shell,会在当前目录自动生成一个虚拟环境并进入,标志是会生成Pipfile和Pipfile.lock文件
- pip install module_name,把该项目用到的所有module都下载一遍
- pip install pyinstaller, 最后要用pyinstaller打包,所以这个module一定要下载
- pyinstaller -F main.py, 把py文件打包成exe文件,结果在生成的dist文件夹中
注意的地方:
- 如果原项目中有一些通过相对路径取到的静态文件或者配置文件,也要复制粘贴到生成的dist文件夹中。
- 如果出现报错: ImportError: matplotlib is required for plotting when the default backend “matplotlib” is selected。
卸载pandas包和matplotlib包(pip uninstall),再先下载matplotlib, 后下载pandas, 代码中也改成先import matplotlib,后import pandas。
如果还是不行,在原代码import pandas后面加一句import pandas.plotting._matplotlib - dist文件夹就是交给用户的东西啦,即便对方没有python也是可以运行的,dist文件夹也可以更改名字。