目录
一 使用pyinstaller打包exe
1 首先安装pyinstaller 包
2 win+R,cmd 进度dos界面
3 进度代码目录内,然后使用pyinstaller -F main.py
二 exe文件大且启动很慢
1 解决办法1:在原始python编译器下创建虚拟环境
(1) 在命令行(CMD)使用pip命令安装pipenv库,用于创建虚拟环境
(2) 新建一个准备当环境的文件夹,并cd进入该文件夹,比如虚拟文件夹路径D:\Python\Package_virturl
(3) 建立虚拟环境,即输入命令pipenv install
(4) 进入虚拟环境(以下操作皆为虚拟环境下的操作)pipenv shell
(5) 安装.py文件用到的模块
(6) 在虚拟环境中安装pyinstaller模块,用于打包.py文件
(7) 使用pyinstaller打包文件
(8) 结果文件
2 解决办法2:使用anaconda创建的虚拟环境
(1) 我们先进入终端界面
(2) 创建虚拟python环境
(3) 安装程序中需要用到的各种第三方库包
3 解决办法3:pycharm使用anaconda创建的虚拟环境,通过pycharm的terminal进行创建exe文件
(1) 进入项目设置里的Project Interpreter,然后点击show all
(2) 进入如下页面后,点击第一步添加 ,第二步Existing environment
(3) 选择自己在anaconda里创建的虚拟环境,路径在anaconda的安装路径里的envs里,最后点击确定
(4)点击确认
(5) 确认程序运行无误后,点击pycharm的terminal
(6) 在terminal中通过cd 进入代码所在路径,然后输入命令,pyinstaller -F main.py,开始生成exe文件
(7) 结果文件
三 anaconda介绍以及如何创建anaconda虚拟环境
1 anaconda介绍
2 Anaconda安装
3 Anaconda使用教程
(1) 修改为清华源,直接打开cmd输入以下命令
(2) 移除清华源
pip install pyinstaller
在代码目录内,生成dist文件夹,内部会生成一个exe文件,运行文件,成功
在第一步中,生成exe文件后,会发现一个就只有几十行代码的程序,打包出来竟然有300多MB,exe文件很大,且启动后运行很慢。主要原因是pyinstaller会把python环境中的很多项目没有用到的包都一起打包进去,这样就增大了exe的大小。
使用pipenv创建虚拟python环境,然后在虚拟环境中把程序代码中涉及到第三方库重新安装一遍,同时也需要在虚拟环境中使用pip,安装打包所用到的pyinstaller(注意是虚拟环境中安装)。具体步骤如下:
C:\Users\Administrator>pip install pipenv
C:\Users\Administrator>D: D:\>cd D:\Python\Package_virturl D:\Python\Package_virturl>
D:\Python\Package_virturl>pipenv install
D:\Python\Package_virturl>pipenv shell
D:\Python\Package_virturl>pipenv shell Launching subshell in virtual environment... Microsoft Windows [版本 10.0.18363.1198] (c) 2019 Microsoft Corporation。保留所有权利。 (Package_virturl-cpK0DSyI) D:\Python\Package_virturl>pip install pyinstaller
(Package_virturl-cpK0DSyI) D:\Python\Package_virturl>pyinstaller -F D:\Python\PureProject\budgetproject2\main.py
-F 参数为 产生单个的可执行文件
-w 参数为 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
在第(2)步创建的文件夹目录下回生成‘dist’文件夹,里面存放的exe就是结果文件,文件大小会小很多且运行启动也较快,解决办法1测试有效。
Anaconda安装好后,开始菜单中会出现关于Anaconda的快捷方式,主要使用的是两个,为Anaconda Prompt 和Anaconda Navigator,其中Anaconda Prompt为终端窗口,Anaconda Navigator图形界面,我们主要使用Anaconda Prompt,这个和我们的dos界面大致相同。
修改第三方库下载源(主要目的是提升包安装速度,外国网站较慢):
直接打开cmd输入以下命令(或者在Anaconda Prompt为终端窗口)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud//pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
移除清华源,输入:
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
这个命令是为了移除之前conda config --show channels显示的清华源。
以后的创建环境和环境切换,和pip安装各种包全在这里
几个常用的快捷键:
①conda info 查看当前环境的信息
②conda info -e 查看已经创建的所有虚拟环境
目前我创建的1个虚拟环境,64位python3.8,可以通过下面指令对虚拟环境进行创建和激活
①conda activate xx 切换到xx虚拟环境
②set CONDA_FORCE_32BIT=1 # 切换到32位
set CONDA_FORCE_32BIT=0 # 切换到64位
表示已经切换到64位
③conda create -n xxx python=3.8 创建一个python3.8 名为xxx的虚拟环境,如要创建32位的python环境,先设置为32位在创建环境,这样创建好的环境即为32位的Python环境,先切换到创建好的环境中
然后输入python 检查下是否为64位的python3.8版本
自此,conda的虚拟conda_python3.8环境已经构建完成。
④ exit()退出,然后pip list 输出当前虚拟conda_python3.8已安装包
①比如pandas,xlwings,openpyxl等。同时不要忘记再次安装pyinstaller,pip install pyinstaller
进入代码文件夹路径,代码如下,然后输入命令pyinstaller -F main.py,开始打包项目,生产exe文件
②输出结果
在当前代码目录下,会生成一个dist文件夹,文件夹内的exe文件即为生成结果文件,此时文件较小,且启动较快。
第①步中,也可以不进入代码文件所在目录,直接使用命令pyinstaller -F D:\Python\PureProject\budgetproject2\main.py,此时生成的dist文件夹及内exe文件位置则再编译器所在位置中的\Scripts文件夹内
至此pycharm使用该环境已完毕
在当前代码目录下,会生成一个dist文件夹,文件夹内的exe文件即为生成结果文件,此时文件较小,且启动较快。
写python,一个电脑上就一个python环境和pycharm就够了,但是遇到不同的项目,可能需要不同的python环境。如何解决这个问题,第一个办法是在电脑上安装多个python环境,使其同时存在,但这样过于麻烦而且容易搞混淆,这里介绍下anaconda的安装和使用,利用anaconda创建虚拟python环境。
打开下载好的 Anaconda.exe文件,出现如下界面。
点击 Next 即可
用户协议,点击 I Agree
选All Users 点Next
接下来选择安装路径,这里不建议装在C盘,安装完大概3个G左右,路径要知道自己安到了哪里(后续使用不同环境的时候会用到这个安装路径)。选择好之后点击Next
接下来是重中之重,第一个选项是添加环境变量,默认是没有勾选的,请务必勾选上,如果这里不勾选,后续安装完成后想要自行添加环境变量会非常麻烦。勾选完后点击 Install 安装。
如果忘了勾选可以键单击我的电脑——属性——高级系统设置——环境变量——系统变量选中path——编辑——新建,分别加上:
· Anaconda3的路径,例如:C:\Users\xiaoyu\Anaconda3
· Anaconda3\Scripts的路径,例如:C:\Users\xiaoyu\Anaconda3\Scripts
· Anaconda3\Library\bin的路径,例如:C:\Users\xiaoyu\Anaconda3\Library\bin
这里是pycharm的一个推广没有需求的话可以不用管,最后一步了,继续点Next。
Finish完成。(那两个 √ 可以取消。)
安装完成后在开始菜单会多出一个快捷方式,也就是Anaconda下的子程序:
开始菜单
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud//pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
输入:conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
这个命令是为了移除之前conda config --show channels显示的清华源。
其中Anaconda Prompt为终端窗口,Anaconda Navigator图形界面,我们主要使用Anaconda Prompt,这个和我们的dos界面大致相同。
以后的创建环境和环境切换,和pip安装各种包全在这里
几个常用的快捷键:
①.conda info 查看当前环境的信息
②conda info -e 查看已经创建的所有虚拟环境
目前我创建的1个虚拟环境,64位python3.8
③conda activate xx 切换到xx虚拟环境
④set CONDA_FORCE_32BIT=1 # 切换到32位
set CONDA_FORCE_32BIT=0 # 切换到64位
表示已经切换到64位
⑤conda create -n xxx python=3.8 创建一个python3.8 名为xxx的虚拟环境,如要创建32位的python环境,先设置为32位在创建环境,这样创建好的环境即为32位的Python环境,先切换到创建好的环境中
然后输入python 检查下是否为64位的python3.8版本
自此,conda的虚拟conda_python3.8环境已经构建完成。
⑥exit()退出,然后pip list 输出当前虚拟conda_python3.8已安装包
⑦安装程序中需要用到的各种第三方库包,比如pandas,xlwings,openpyxl等。同时不要忘记再次安装pyinstaller,pip install pyinstaller
⑧进入代码文件夹路径,代码如下,然后输入命令pyinstaller -F main.py,开始打包项目,生产exe文件
⑨输出结果
在当前代码目录下,会生成一个dist文件夹,文件夹内的exe文件即为生成结果文件,此时文件较小,且启动较快。