遇到错误消息" pyi_rth_pkgres.py返回-1"
当在Anaconda 64环境中运行python脚本(Python版本3.5.1)到exe时,在2016年4月由Pyinstaller 3.1.1编译(编译过程没有任何错误)。
脚本使用:
大熊猫0.18
qt 4.8.7
qtpy 1.0
答案 0 :(得分:0)
import pandas as pd
import numpy as np
from PyQt4 import QtCore, QtGui
import sys
import re
class mainWgt(QtGui.QMainWindow):
def __init__(self):
# regex stuff
rex = re.compile('(?<=ss)\d+')
match = rex.search('ss23423').group(0)
# Pandas stuff
self.df = pd.DataFrame(data=np.random.randn(100, 10))
self.df[4] = self.df[1] + self.df[2]
self.df[5] = self.df.apply(lambda x: '{}_{}'.format(x[1], x[2]), axis=1)
# PyQt stuff
super().__init__()
self.resize(1000, 1000)
self.rootWgt = QtGui.QWidget(self)
self.table = QtGui.QTableWidget(self.rootWgt)
self.rootWgt_lay = QtGui.QGridLayout(self.rootWgt)
self.rootWgt_lay.addWidget(self.table, 0, 0, 1, 1)
self.setCentralWidget(self.rootWgt)
self.table.setColumnCount(11)
self.table.setRowCount(111)
# all together
self.table.setItem(0, 0, QtGui.QTableWidgetItem())
self.table.item(0,0).setText(match)
for i in self.df:
for j, item in enumerate(self.df[i]):
self.table.setItem(j, i, QtGui.QTableWidgetItem())
self.table.item(j, i).setText(str(item))
#} ^ class mainWgt(QtGui.QMainWindow):
app = QtGui.QApplication(sys.argv)
gui = mainWgt()
gui.show()
sys.exit(app.exec_())
这是一个涉及qtpy和pandas的简短示例代码。
我可以使用anaconda64 for windows和pycharm社区版的默认下载编译此代码,全部下载于2016-04-07:
[0]安装Anaconda64 for windows,无需事先安装python。在编写时,Anaconda默认会同时安装3.4.3和3.5.1环境。但是,在以下步骤中,这不会给我带来任何悲伤
[1] cmd:pip install pyinstaller,pip install可以检测到Anaconda的python。
[2] 还原包&#34; setuptools&#34;到19.2 。我在pycharm中做到了(设置,项目:,项目解释器)
[3]按照说明如何使用pyinstaller,这里的所有内容都应该是google-able
警告:结果是一个200MB 3000 + 文件夹。如果你只是想要一个快速的exe来做一些小事,远离大包。熊猫的脚本形式处于最佳状态。