【问题标题】:pandas v0.17.1 not working with py2exepandas v0.17.1 不能与 py2exe 一起使用
【发布时间】:2015-12-10 22:05:33
【问题描述】:

我对 python pandas v0.17.1 有疑问。我从 v0.16.2 升级。 系统:

Win10 x64,Python 3.4 64Bit,使用 PyCharm 社区版进行编码。 (numpy 1.9.3+mkl)

我正在使用 py2exe 创建一个独立的统计程序,使用 pandas 来保存数据,matplotlib 用于绘图,pyqt4 用于与 gui 相关的所有内容。

自从我升级了 pandas,从 py2exe 创建的 .exe 不再工作了。双击或从命令行启动后没有任何反应。没有错误,没有错误日志文件或类似文件,没有“窗口闪烁”再次打开和关闭。什么都没有。

我卸载了 pandas 并通过 pip 重新安装(全新安装)它。同样的问题。 我刚刚再次将 pandas 降级到 v0.16.2。现在一切正常(使用 v0.16.2)。没有进行其他更改。

为了测试,我创建了一个尽可能简单的程序,只有一个 empy pyqt 主窗口和启动程序所需的内容。在没有熊猫的情况下工作正常。 'import pandas' 之后什么也没有发生(使用 v0.17.1)。

有人知道发生了什么吗?我必须为新的熊猫版本调整我的 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 中“包含”熊猫,但没有效果。不知道该怎么做才能解决这个问题。 setup.py 现在需要一些 dll 吗?

对不起,我的英语不好。 ps:在PyCharm中,一切正常,只是.exe不起作用。 ps2:在我的 Win7 安装中进行了相同的测试,行为相同。

【问题讨论】:

    标签: python pandas pyqt4 py2exe


    【解决方案1】:

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

    偶然地,我在查看 Calvin 的答案时将其停用。

    它现在可以在我的 PC 和笔记本电脑上运行,无需任何更改。只是在使用 .exe 创建的 py py2exe 时停用了 AVAST 'deepscreen' 功能。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 感谢您的回答。我会在几天后检查并报告结果。
      猜你喜欢
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-23
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多