我遇到python pandas v0.17.1的问题。我从v0.16.2升级了。 系统:
Win10 x64,Python 3.4 64Bit,使用PyCharm Community Edition进行编码。 (numpy 1.9.3 + mkl)
我正在使用py2exe创建独立的统计程序,使用pandas来保存数据,使用matplotlib进行绘图,使用pyqt4来处理与gui相关的所有内容。
自从我升级了pandas后,py2exe创建的.exe不再起作用了。双击或从命令行启动后没有任何反应。没有错误,没有错误日志文件或类似文件,没有“窗口闪烁”再次打开和关闭。什么都没有。
我卸载了pandas并通过pip重新安装(全新安装)它。同样的问题。 我刚刚将熊猫降级到v0.16.2。现在一切正常(v0.16.2)。没有其他变化。
为了测试我创建了一个尽可能简单的程序,只有一个empy pyqt主窗口以及启动程序所需的内容。工作得很好,没有大熊猫。 “导入大熊猫”之后不再发生任何事情(使用v0.17.1)。
有人知道发生了什么事吗?我是否必须为新的pandas版本调整我的setup.py?因为我没有得到任何错误,我无法检查错误。
main.py:
# coding=utf-8
import sys
from PyQt4 import QtCore, QtGui
import matplotlib
#import pandas
class app(QtGui.QMainWindow):
def __init__(self, *args):
QtGui.QMainWindow.__init__(self, *args)
if __name__ == "__main__":
programm = QtGui.QApplication(sys.argv)
window = app()
window.show()
eventloop = programm.exec_()
sys.exit()
setup.py:
# coding=utf-8
from distutils.core import setup
import py2exe
path_to_source = r'path to dir' # replace with your working directory
setup(
options = {"py2exe": {
'includes': ['sip'],
'excludes': [],
'optimize': 2,
'compressed' : False,
'packages': ['encodings']
#'skip_archive': True
}},
zipfile = None,
windows = [{"script": path_to_source + r"/main.py"}]
)
只需取消注释pandas的import语句,v0.17.1就不再有效了。 使用与以前相同的文件创建'dist'目录。 我试图在setup.py中“包含”pandas但没有效果。不知道如何解决这个问题。现在在setup.py中需要一些dll吗?
抱歉我的英语不好。 ps:在PyCharm中,一切正常,只有.exe不起作用。 ps2:我的Win7安装测试相同,行为相同。
答案 0 :(得分:1)
我解决了我的问题。这是我的AVAST Anti-Virus。这是“深屏”功能在后台启动程序作为沙箱并分析.exe但从未通知我它在后面运行(没有信息气球等)。
偶然的机会,我在调查凯文的答案时已将其停用。
它现在适用于我的PC和笔记本电脑,没有任何变化。在使用.exe创建的py py2exe时,只需停用AVAST'深屏'功能。
答案 1 :(得分:0)
我也遇到过同样的问题。我发现的是一个名为“nbformat'导致py2exe脚本失败。我将此包添加到我的排除列表中,脚本成功运行。