python文件转exe
.py文件转exe文件
1.软件说明:
用python写一个视频处理软件,用到的库是moviepy
2.所用软件:
Python 3.6.5 32位
pycharm 专门的python编辑ide,推荐使用
pyinstaller
imageMagick.exe (记住他的安装路径,后面会用到)
注意事项:切记安装32位的python,因为32位python在64位系统上打包出来的exe文件可以在32和64位系统运行,反之不可以。我就是先装的64位,然后依赖都装完了才发现需要32位,又全部卸掉重新装,心好累
3.安装所需依赖:
安装moviepy:pip install moviepy
装了imagemagic后可能还是会报错,找不到那个错的截图了,执行下面的命令即可解决:pip install python-magic-bin==0.4.14
安装requests:pip install requests
安装eyed3:pip install eyed3(我是用到了这个依赖,不用的可以不装)
安装打包工具pyinstaller:pip install pyinstaller
打包命令: pyinstaller –F –p moviepy; demo1.py
参数说明:-F 打包成一个文件
-p 把moviepy文件夹打包进去
4.遇到的问题
4.1 windows下面python不能自动识别出imagemagick的安装目录,必须手动修改,
修改python lib/site-packages/moviepy/config_defaults.py 到imagemagic的安装目录
IMAGEMAGICK_BINARY = r"C:\Program Files\ImageMagick-6.7.3-Q16\convert.exe"
4.2用pyinstaller打包后报错:moviepy.audio.fx.all has no attribute of audio_fadein
解决方案:将python/lib/sitepackages/moviepy文件夹拷贝到demo1.py所在的目录,修改moviepy/audio/fx/all 下的__init__.py文件
将exec这句注释掉,然后具体列出引入的包,因为pyinstaller不认exec这种方式,
改成如图1的方式,然后打包的时候加上-p moviepy;即可解决问题

图1
4.3报错:libmagic not found.明明安装了magic依赖,可是Pyinstaller打包的时候打不进去,必须在.py文件夹下放置C:\python32\Lib\site-packages\magic下的libmagic文件夹和magic.py文件,打包好的exe文件也要有这两个东西,即如图2所示。要修改magic.py的156行,bin_dist_path = os.path.join(os.path.dirname(__file__), 'libmagic')
修改为bin_dist_path = os.path.join(os.path.dirname(sys.executable), 'libmagic')

图2
这些全都搞定之后,打包的exe文件就可以在windows32位和64位系统上运行了
写在最后的话:笔者为了解决4.2的问题在网上整整找了3天,参考了https://github.com/Zulko/moviepy/issues/263下pratikone的回答才解决,所以请珍惜劳动成果,转载请注明出处
python文件转exe的更多相关文章
- Python文件打包exe教程——Pyinstaller(亲测有效)
今天将要解决一个问题,如何打包Pyhon文件 众所周知,Python文件的后缀名为“.py” 所以执行Python文件的要求之一便是具有python环境. 偶尔特殊情况,或者运行一些比较简单的工具,但 ...
- 关于python文件转为exe文件
一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2e ...
- 打包python文件为exe文件(PyInstaller工具使用方法)
最近做的新浪微博爬虫程序,打算打包成.exe软件以方便使用,网上找到一个很好的打包工具pyinstaller,这里记录一下打包的方法. 一.下载pyinstaller 我使用的版本为PyInstall ...
- pyinstaller打包python文件成exe(原理.安装.问题)
py文件打包成exe文件的方式一共有三种:py2exe.PyInstaller和cx_Freeze 本文分四个步骤来详讲如何用PyInstaller将py文件打包成exe文件 1. PyInstall ...
- 打包Python文件为exe
pip install pyinstaller 然后就在终端里执行命令 cd 到目标文件的目录下 执行 pyinstaller -F ***.py 即可生成exe
- python文件导出exe可执行程序
开门见山的说: 1.安装pyinstaller.(windows 用pip3 Mac 用pip)在cmd中输入:pip3 install pyinstaller 2.找到你要打包的文件的目录的上一个目 ...
- 用于Python文件转换.exe文件的pyinstaller工具安装
安装方法: 注:python环境一定要配置好. 1.第一步:下载 官方网站:http://www.pyinstaller.org/downloads.html 此处下载版本为稳定版. 2.第二步:下载 ...
- 反编译python打包的exe文件
目录 1.前言 2.使用环境 3.还原过程 4.号外 5.exe文件和所用到的反编译工具 6.参考 7.去签名(补漏) 前言 拿到了利用驱动人生进行传播的病毒样本,发现是python打包成的exe文件 ...
- python打包成exe文件
在cmd命令提示符窗口中输入pip install pyinstaller(在python3的环境下,假如不能安装的话,用pip3 install pyinstaller指令) 使用指令pyinsta ...
随机推荐
- 【ASP.NET Core】依赖注入高级玩法——如何注入多个服务实现类
依赖注入在 ASP.NET Core 中起中很重要的作用,也是一种高大上的编程思想,它的总体原则就是:俺要啥,你就给俺送啥过来.服务类型的实例转由容器自动管理,无需我们在代码中显式处理. 因此,有了依 ...
- MVC Form 表单 提交 集合 及 复杂对象
public class Customer { public string FName{get;set;} public Address address{get;set;} } public clas ...
- wpf研究之道——datagrid控件分页
这是我们的datagrid分页效果图,有上一页,下一页,可以跳到任何一页.当页码比较多的时候,只显示几页,其余用点点,界面实现如下: <!--分页--> <StackPanel Or ...
- Angular 学习笔记 ( 链接服务器 )
ng 是做前端开发的, 所以通常我们会配上一个 API server. 本地调试时通常使用 proxy https://github.com/angular/angular-cli/blob/mast ...
- 200行Py代码带你实现"打飞机"
前言 多年前,你我在一起"打飞机".为了实现真正的打飞机,在下一年前踏足帝都学习了无所不能的Python,辣么接下来带你在俩个小时用200行代码学会打飞机. python中提供了一 ...
- python基础——面向对象进阶
python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 ...
- hdu-1237 简单计算器---中缀表达式转后缀表达式
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1237 题目大意: 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. 思路 ...
- java 面向对象编程。。。。
经过一周的学习(java),总结了许多,对java的理解,java的类型,运用,安装,基础语法,变量,常量,表达式,语句 java从C语言中继承了大量语言特性.java面向对象编程的基本特征,包括继承 ...
- Struts2--二次提交
在Struts2中,使用token的方式来防止二次提交.并且在默认的拦截器栈中提供了两个默认拦截器Token Interceptor和Token Session Interceptor.必须要在for ...
- POJ2454 Jersey Politics
Description In the newest census of Jersey Cows and Holstein Cows, Wisconsin cows have earned three ...