pandas v0.17.1不使用py2exe

时间:2015-12-10 22:05:34

标签: python pandas pyqt4 py2exe

我遇到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安装测试相同,行为相同。

2 个答案:

答案 0 :(得分:1)

我解决了我的问题。这是我的AVAST Anti-Virus。这是“深屏”功能在后台启动程序作为沙箱并分析.exe但从未通知我它在后面运行(没有信息气球等)。

偶然的机会,我在调查凯文的答案时已将其停用。

它现在适用于我的PC和笔记本电脑,没有任何变化。在使用.exe创建的py py2exe时,只需停用AVAST'深屏'功能。

答案 1 :(得分:0)

我也遇到过同样的问题。我发现的是一个名为“nbformat'导致py2exe脚本失败。我将此包添加到我的排除列表中,脚本成功运行。