Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyInstaller的问题_Python_Pyinstaller_Geopandas - Fatal编程技术网

Python PyInstaller的问题

Python PyInstaller的问题,python,pyinstaller,geopandas,Python,Pyinstaller,Geopandas,我想使用PyInstaller将应用程序捆绑到可执行文件中。我遇到问题是因为geopandas库。当前我的脚本throwaway.py仅包含以下导入: import geopandas 但是,运行pyinstaller throwaway.py不起作用。它似乎与仅导入的matplotlibPyQt5有关 pyinstaller的日志太长,无法包含在此处,但下面显示了遇到的最后一个异常: Exception: Cannot find existing PyQt5 plugi

我想使用PyInstaller将应用程序捆绑到可执行文件中。我遇到问题是因为
geopandas
库。当前我的脚本
throwaway.py
仅包含以下导入:

import geopandas

但是,运行
pyinstaller throwaway.py
不起作用。它似乎与仅导入的
matplotlib
PyQt5有关

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

Exception:
            Cannot find existing PyQt5 plugin directories
            Paths checked: c:/qt/qt_1489878162099/_b_env/Library/plugins
我不知道如何处理这个问题,但有几个概念上的选择:

  • 找到排除matplotlib的geopandas导入的方法。我没有使用matplotlib,所以我不需要首先打包它
  • 找出出现此问题的原因并预防/修复它

有人能帮忙吗?非常感谢

这个
pyinstaller-y-d--clean-throwaway.py
适合我

还有,检查一下这个

有一个递归限制的问题,声明。 试着这样增加它:

import sys
sys.setrecursionlimit(5000)

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

pip安装https://github.com/pyinstaller/pyinstaller/archive/develop.zip

我是从你那里得到的。当前
conda forge
发行版的
pyinstaller
仍然不包括开发版本中包含的内容。更改之前的代码是导致问题中出现错误的原因

希望
conda forge
发行版很快将其纳入主发行版

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

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

对我有用_(ツ)_/“'Python 3.7,Geopanda的新安装我正在anaconda环境中使用Python 3.6.6。我也刚刚更新了我的
geopandas
doing
conda update geopandas
,但仍然出现错误。我的项目需要使用
Python 3.6.6
,因此我别无选择检查递归限制(在我的回答中)是否执行此作业我在导入
geopandas
之前添加了
setrecursionlimit
。同样的问题。对于某些人,它通过将其添加到规范文件(规范文件的开头)中,然后运行pyinstaller filename.spec来工作