目录标题

  • 前言
  • 下载安装模块(pyinstaller)
  • 执行打包命令
  • 1、在cmd中进入项目文件
  • 2、执行pyinstaller命令成exe文件
  • 3、找到exe文件
  • 报错以及解决
  • 报错X1
  • 解决方法:
  • 报错X2
  • 解决方法:
  • 写在最后



yarn 打包成exe 代码打包成exe_解决方法

前言

大家都知道我们在pycharm中编写的源代码,如何成为可以运行的程序,下面的内容帮助我们了解如何将我们的原代码变成可以运行的exe文件

下载安装模块(pyinstaller)

Python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块。

pip install pyinstaller

执行打包命令

命令

说明

-F,-onefile

产生单个的可执行文件

-D,–onedir

产生一个目录(包含多个文件)作为可执行程序

–a,–ascii-

-不包含 Unicode 字符集支持-

-d,–debug

产生 debug 版本的可执行文件

-w,–windowed,–noconsolc

指定程序运行时不显示命令行窗口(仅对 Windows 有效)

–c,–nowindowed,–console-

-指定使用命令行窗口运行程序(在 Windows )-

-o DIR,–out=DIR

指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件

-p DIR,–path=DIR

设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径

–n NAME,–name=NAME-

指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字–

1、在cmd中进入项目文件

以我的项目文件为例

cd C:\Users\HONOR\Desktop\ui

2、执行pyinstaller命令成exe文件

pyinstaller -F tk学习.py

大家可以根据自己的需求改变以上的命令

3、找到exe文件

打开项目文件中的dist文件就可以看到我们生成的exe文件了

是不是非常简单并且顺利,那是不可能接下就是本人出现的一些错误:

报错以及解决

报错X1

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

当我们在执行下面的命令的时候,会报不是内部或外部命令的错误就很尴尬

pyinstaller -F tk学习.py

解决方法:

首先在cmd中执行

pip show pyinstaller

这个做的目的时是为了知道pyinstaller有没有下载成功还有这个东西下载到什么位置了,方便下面的操作

yarn 打包成exe 代码打包成exe_解决方法_02

好的!我们看到我画横线的位置是一个文件目录,你是不是认为这个就是我们的要的目录了吧,其实并不是去😉, c:\users\honor\appdata\roaming\python\python39\site-packages当我们根据这个目录打开文件的时候,我们需要回退一级目录,请看下面图片的演示(很简单就是不好表达而已)

1、进入查询到的目录

yarn 打包成exe 代码打包成exe_项目文件_03


2、返回上一级目录

yarn 打包成exe 代码打包成exe_解决方法_04


3、进入scripts文件

yarn 打包成exe 代码打包成exe_项目文件_05


4、当看到pyinstaller.exe文件时,将当前文件目复制下来配置到环境变量中

yarn 打包成exe 代码打包成exe_开发语言_06

如果有不会配置环境变量的朋友可以参考我的这篇文章:《配置环境变量》

报错X2

我们开始下一个报错

yarn 打包成exe 代码打包成exe_解决方法_07


当我们出现这个问题的时候第一反应应该都是装一下这个模块:

大家也可以尝试一下这个解决方法,万一解决了呢(反正我是没有解决)

pip install pywifi

解决方法:

这个是我修改之前的源码:

yarn 打包成exe 代码打包成exe_开发语言_08

这个是我修改之后的源码:

yarn 打包成exe 代码打包成exe_开发语言_09

也就是说将将from pywifi import const换成import pywifi至于这个东西的原理在哪其实我也不知道,其实我也和你一样惊讶,但是他确实是成功跑起来了就是很神奇去😎

写在最后

在写代码的时候我们在不断的进步,但是寻找出错代码的问题并且决绝也未尝不是一种进步,愿我们我们的代码通畅无阻,一路绿灯🚦
愿君前程似锦,未来可期去💯