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 ...
随机推荐
- __all__
相信很多人第一次见到这个__all__都很好奇,他有什么作用 那他到底有什么作用呢? 先上代码 from scrapy.utils.reqser import request_to_dict, req ...
- Spring Security 入门(1-3-2)Spring Security - http元素 - intercept-url配置
http元素下可以配置登录页面,也可以配置 url 拦截. 1.直接配置拦截url和对应的访问权限 <security:http use-expressions="false" ...
- NOPI实现导入导出泛型List,支持自定义列
概述 业务上需要自定义列的Excel的导入导出,在网上看了好多资料,很多都是有Bug而且都是支持Excel和DataTable的转换,所以自己总结了一下,应用.NET平台上的NPOI封装了支持自定义列 ...
- Python之IO模型
IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步.异步.阻塞.非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞 ...
- python开发:python基本数据类型
运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31- ...
- hdu 6205 card card card
https://vjudge.net/contest/184514#problem/L题意:排成一行的一堆牌,每堆牌都有一定数量的牌,然后每堆牌对应有一个惩罚值.一开始所有的牌都是正面向下的,并且在游 ...
- c语言文件中关于while(!feof(fp)) 循环多输出一次的问题
文件中关于while(!feof(fp)) 循环多输出一次的问题 feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为1,否则为0. 当读到文件末尾时,文件指针并没有 ...
- hdu1728 逃离迷宫---转弯次数不超过k+BFS
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1728 题目大意: 给你一幅图,给出起点终点和最大转弯次数,判断是否能从起点到终点.'*'表示障碍物. ...
- ionic新入坑-环境搭建+新建项目+打开低版本项目处理
是的.我又双叒叕入新坑了.想我大学的时候web-app刚火起来.还帮忙做了我们学校医务室系统的web-app页面部分呢.时间太紧最后也没出个完整的版本.那时候只是用H5简单做了web部分.是想着用ph ...
- 解决-Django使用filter过滤时间,无法获取月份的问题
django中的filter日期查询属性有:year.month.day.week_day.hour.minute.second 但是但我在使用过滤查询是却总是无法过滤出月份,各种查资料,最后才发现是 ...