'pyinstaller' 不是内部或外部命令,也不是可运行的程序或批处理文件。怎么解决?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了'pyinstaller' 不是内部或外部命令,也不是可运行的程序或批处理文件。怎么解决?相关的知识,希望对你有一定的参考价值。
python小白提问,在cmd命令行下用pip install pyinstaller安装了pyinstaller,但是打包程序时提示'pyinstaller' 不是内部或外部命令,也不是可运行的程序或批处理文件。错误。
请问怎么解决呢?
用了网上搜索的系统环境变量添加路径,没有用。
Python打包EXE神器 pyinstaller
最近由于项目需要,以前的python文件需要编辑为EXE供前端客户使用。
由于最早接触的是distutils,所以一开始准备使用distutils和py2exe搭配来进行python的exe化,也就是传统的使用setup.py的方式来进行exe安装。但是结果都不是很好,不是很如人意。并且py2exe所使用的一个python 包互相排斥,只要安装了这个包,就无法进行exe化。甚至代码里面都不需要导入,就会报错。
因此,只能无奈放弃了py2exe工具。转而使用pyinstaller。使用感受真的是甩了py2exe几条街。首先是安装,
pip install pyinstaller
注:pyinstaller最新版本为3.2.1只支持2.7-3.5。但是有最新的开发版在如下链接的develop分支中是支持python3.6的。由于本人使用的是3.6版本。因此也是找了好久。
https://github.com/pyinstaller/pyinstaller
pyinstaller安装好以后,只需要使用pyinstaller 安装包的名字如:
pyinstaller hello.py
便可以将hello文件打包。打包文件在pyinstaller的目录下。可以通过 --distpath=xxxx 参数来修改保存的位置。
还有一些其他的参数本文也是直接找了网上的资料,如下:
发布命令介绍
-
有两种方法调用发布流程:
①直接使用Pyinstaller应用程序调用待发布脚本
②用Python调用pyinstaller-script脚本再调用待发布脚本
两种方法用起来没什么差别,方法①少个步骤,就用方法①了咯
-
-w指令
直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽
-
-F指令
注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹
-
-p指令
这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加
原网址:
https://jingyan.baidu.com/article/a378c960b47034b3282830bb.html
以上是关于'pyinstaller' 不是内部或外部命令,也不是可运行的程序或批处理文件。怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章
ImportError: 当使用pyinstaller创建一个.exe时,无法导入名称'pywrap_tensorflow'。
UnicodeEncodeError:'mbcs'编解码器无法编码位置0--1中的字符:运行PyInstaller编译的脚本时无效字符
windows 下 pyinstaller distutils not included with latest virtualenv (16.4.0)