PyInstaller的问题

时间:2018-11-02 09:52:52

标签: python pyinstaller geopandas

我想使用PyInstaller将应用程序捆绑为可执行文件。由于<?php for ($i=0; $i < sizeof($json['TrainRoute']); $i++) { ?> <tr> <td><?php echo $json['TrainRoute'][$i]['SerialNo']; ?></td> <td><?php echo $json['TrainRoute'][$i]['StationName']; ?></td> <td><?php echo $json['TrainRoute'][$i]['ScheduleArrival']; ?> / <?php echo $json['TrainRoute'][$i]['ScheduleDeparture']; ?></td> <td class="train-mobile"><?php echo $json['TrainRoute'][$i]['ActualArrival']; ?> / <?php echo $json['TrainRoute'][$i]['ActualDeparture']; ?></td> <td class="train-mobile"><?php echo $json['TrainRoute'][$i]['Day']; ?></td> <td style="color: red;"><?php echo $json['TrainRoute'][$i]['DelayInDeparture']; ?></td> </tr> <?php } ?> 库,我遇到了问题。目前,我的脚本 <td style="color: green;"> <?php if ( $json['TrainRoute']['StationName'] = $json['CurrentStation']['StationName'] ) { echo $json['CurrentStation']['StationName']; } ?> </td> 仅包含以下导入:

geopandas

但是无法运行throwaway.pyimport geopandas似乎有问题,仅导入pyinstaller throwaway.py

PyQt5的日志太长,无法在此处包含,但是以下显示了遇到的最后一个异常:

matplotlib

我不确定该如何处理,但是有两个概念选择:

  • 找到一种排除matplotlib导入geopandas的方法。我没有使用matplotlib,所以我真的不需要首先打包它。
  • 弄清楚为什么会出现此问题,并防止/解决此问题

有人可以帮忙吗?非常感谢!

2 个答案:

答案 0 :(得分:2)

这个pyinstaller -y -d --clean throwaway.py对我有用。

enter image description here

还请选中此question

here表示递归限制存在问题。 尝试像这样增加它:

import sys
sys.setrecursionlimit(5000)

答案 1 :(得分:1)

我通过下载pyinstaller的开发版本来解决此问题,如下所示:

pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip

我从this link获得了以上内容。 conda-forge的当前pyinstaller发行版仍不包括开发版本中包含的this change。更改之前的代码是导致问题中错误发生的原因。

希望conda-forge发行版很快可以将其合并到主发行版中。

因此,基本上,如果您遇到此问题,则有两种选择:

  • 安装PyInstaller的开发版本并使用
  • 手动进入~\anaconda3\Lib\site-packages\PyInstaller\utils\hooks\qt.py,并按照指示here修改文件