使用pyInstaller打包python下的sklearn工程

pyInstaller是一款python打包工具,它可以方便将python的所有依赖打包成一个可执行文件,所以它打包的文件只能在相同系统下运行。


本地使用的是Mac系统,python版本是2.7.12,代码是使用sklearn开发的机器学习相关的内容。在打包的时候仍然是遇到了一些问题,现在记录如下:

1.在打包的过程,出现ImportError:No Module named win32com


解决方法:不用管,在mac系统上,这个忽略就可以了,实测并不影响最后的运行


2.提示No Module named sklearn.neighbors.typedefs:

解决方法:命令行加上

--hidden-import sklearn.neighbors.typedefs


3.提示No Module named message:

解决方法:命令行加上

--hiddenimport email.mime.message


4.提示No Module named image:

解决方法:命令行加上

--hiddenimport email.mime.image

5.提示No Module named multipart:

解决方法:命令行加上

--hiddenimport email.mime.multipart

6.提示No Module named audio:

解决方法:命令行加上

--hiddenimport email.mime.audio


7.提示No Module named text:

解决方法:命令行加上

--hiddenimport email.mime.text


最终的打包命令如下,在dist下面生成一个可执行文件:

pyinstaller -F confirm_controller.py --hidden-import sklearn.neighbors.typedefs --hiddenimport email.mime.message --hiddenimport email.mime.image --hiddenimport email.mime.multipart --hiddenimport email.mime.audio --hiddenimport email.mime.text



pyInstaller的相关学习链接:

http://legendtkl.com/2015/11/06/pyinstaller/

https://pyinstaller.readthedocs.io/en/stable/usage.html

http://blog.csdn.net/qwemicheal/article/details/52864656

http://www.cnblogs.com/maoguy/p/6953326.html?utm_source=itdadao&utm_medium=referral

https://github.com/pyinstaller/pyinstaller/issues/2481


http://www.niftyadmin.cn/n/1399638.html

相关文章

tensorflow之seq2seq阅读笔记

学习tensorflow最好的方式还是阅读官方文档:https://www.tensorflow.org/versions/r0.12/tutorials/seq2seq/ 一、tensorflow的RNN使用: 1.使用LSTM lstm rnn_cell.BasicLSTMCell(lstm_size)# Initial state of the LSTM memory.state tf.zeros([bat…

XXX.properties用git无法提交

今天突然发现,几个月前传到github上的demo被留言说是缺少配置文件,结果仔细一看确实没有配置文件,当我重新拷贝配置文件打算提交的时候,用git status发现竟然不显示这些配置文件。 然后迅速检查项目里的.gitignore文件&#xff0c…

git add, commit, push如何撤销

一、新建项目,第一次操作失误如何回退: 1.git add 撤销 git rm -r --cached . 2.git commit 撤销 git update-ref -d HEAD 或者更简洁的方式,就是git init,然后重新提交 二、不是第一次提交,如何回退: 1.…

mac上安装xgboost报错

使用pip命令在mac上安装xgboost报错:pip install xgboost 结果如下: Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/6c/jxn8_0cd63bd4db6h58z031msk7pn1/T/pip-build-f8_mJP/xgboost/ 解决方法如下&#xff1a…

如何将时间序列预测问题转换为python中的监督学习问题

原文:《How to Convert a Time Series to a Supervised Learning Problem in Python》 一、前言 像深度学习这样的机器学习方法可以用于时间序列预测。 在可以使用机器学习之前,时间序列预测问题必须重新构建成监督学习问题,从一个单纯的序…

使用pandas进行数据清洗

【转载】使用pandas进行数据清洗 目录: 数据表中的重复值 duplicated()drop_duplicated() 数据表中的空值/缺失值 isnull()&notnull()dropna()fillna() 数据间的空格 查看数据中的空格去除数据中的空格大小写转换 数据中的异常和极端值 replace() 更改数据格式 …

使用mongodb的findAndModify命令来进行数据同步

一、问题定义: 由于业务需求,需要实现给一条记录分配一个int值的不重复id,由于是多实例部署的服务,所以如何进行数据同步,避免插入重复id成为关键。 二、解决过程: 1.一开始想到的是,当系统初…

强化学习入门总结

目录 一、强化学习概述 1.强化学习简介 2.发展历程: 3.MDP(马儿可夫决策过程) 4.why RL? 5.总结: 二、强化学习求解方法 1.动态规划方法 2.蒙特卡洛方法 3.时间差分方法 三、强化学习算法分类 1.分类一&am…