【问题标题】:PyInstaller: ImportError: cannot import name 'ccompiler' from partially initialized module 'numpy.distutils'PyInstaller:ImportError:无法从部分初始化的模块“numpy.distutils”导入名称“ccompiler”
【发布时间】:2021-12-12 19:21:13
【问题描述】:

使用 PyInstaller 冻结我的程序后,我在尝试运行可执行文件时遇到以下错误:

ModuleNotFoundError: 没有名为“numpy.distutils”的模块

numpy.distutils 添加到隐藏导入后,我收到一个新错误:

ImportError: 无法从部分初始化的模块“numpy.distutils”导入名称“ccompiler”(很可能是由于循环导入)

我不知道该怎么办。 这些是从我的代码中导入的:

import pyodbc
import numpy as np
import fiona
import pandas as pd
import geopandas as gpd
import rasterio
from rasterio import features
from rasterstats import zonal_stats
import PySimpleGUI as sg

【问题讨论】:

    标签: python numpy pyinstaller


    【解决方案1】:

    尝试收集Numpy的所有子模块

    --collect-submodules numpy
    

    那么,你可能会得到一个新的错误或其他错误

    ModuleNotFoundError: 没有名为“distutils.unixccompiler”的模块

    将它们添加到隐藏的导入中

    --hidden-import distutils.unixccompiler
    

    【讨论】:

      【解决方案2】:

      只需更新到 Pyinstaller 4.8。他们在此版本中修复了此错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-21
        • 2021-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-27
        相关资源
        最近更新 更多