如何用pyinstaller打包pandas,并避开一些常见的错误

问题

小弟想用pandas生成一个DataFrame输入为.csv文件,然而打包的.exe文件,运行后无法实现。

1.环境

  • Win10
  • Python3.6.4(Anaconda最新版)
  • PyInstaller: 3.3.1

需要打包的代码(amyfile.py

import pandas as pd
import numpy as np
arr1 = np.arange(100).reshape(10,10)
data1 = pd.DataFrame(arr1)
data1.to_csv(r'D:\b.csv',index=False,header=False,decimal=',') 

第一个坑,报错如下

'utf-8' codec can't decode byte 0xce in position 122: invalid continuation....

解决方法:CMD中输入

CHCP 65001

2.尝试过的方法

(1)第一种方法

小弟之前已经百度多次,包括在amyfile.spec中加上

def get_pandas_path():
    import pandas
    pandas_path = pandas.__path__[0]
    return pandas_path
 

dict_tree = Tree(get_pandas_path(), prefix='pandas', excludes=["*.pyc"])
a.datas += dict_tree
a.binaries = filter(lambda x: 'pandas' not in x[0], a.binaries)

链接:【整理】PyInstaller针对包含Python3.4, PyQt, Pandas, Multiprocess的程序打包

另外

(2)第二种方法

需要去GitHub找一个host文件,小弟对host什么的一窍不通,作者给的地址不知道怎么下,下了不知道放哪?不知道是否真的有效?
PYINSTALLER打包PYTHON脚本的一些心得

3.打包的文件中恰恰缺失Pandas和Numpy库

仔细看了build文件中的warnamyfile.txt发现模块全都没用引进,在dist中生成的都是我不需要的库。

图片描述

图片描述

阅读 11.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题