微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PyInstaller错误:ModuleNotFoundError:没有名为“ statsmodels .__ init __._ version”的模块

如何解决PyInstaller错误:ModuleNotFoundError:没有名为“ statsmodels .__ init __._ version”的模块

我正在尝试从终端通过PyInstaller构建一个使用statsmodels的exe文件。 exe文件由PyInstaller生成,没有错误-但是运行时出现以下错误

ModuleNotFoundError: No module named 'statsmodels.__init__._version'

我已经尝试按照here的说明在PyInstaller的“ hooks”目录中安装statsmodels钩子,但是这不起作用。我还试图在我的Python代码中显式导入statsmodels。 init ._ version,但这也没有用。下面是我导入软件包的代码的顶部:

import pandas as pd
from sklearn import preprocessing
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.neighbors import NearestNeighbors,KNeighborsClassifier
import numpy as np
import matplotlib.pylab as plt
from sklearn.linear_model import LogisticRegression
import statsmodels.api as sm
from scipy import stats
from sklearn import datasets,neighbors
from mlxtend.plotting import plot_decision_regions
import seaborn as sns
from tqdm import tqdm
import matplotlib.ticker as mtick
from tkinter import *
from tkinter.filedialog import askopenfilename
import sklearn.utils._cython_blas
import sklearn.neighbors.typedefs
import statsmodels.tsa.statespace._filters
import statsmodels.tsa.statespace._filters._conventional
import statsmodels.tsa.statespace._filters._univariate
import statsmodels.tsa.statespace._filters._univariate_diffuse
import statsmodels.tsa.statespace._filters._inversions
import statsmodels.tsa.statespace._smoothers
import statsmodels.tsa.statespace._smoothers._conventional
import statsmodels.tsa.statespace._smoothers._univariate
import statsmodels.tsa.statespace._smoothers._univariate_diffuse
import statsmodels.tsa.statespace._smoothers._classical
import statsmodels.tsa.statespace._smoothers._alternative
import statsmodels.__init__._version

这是错误的回溯:

File "LR.py",line 9,in <module>
  File "/opt/anaconda3/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py",line 493,in exec_module
    exec(bytecode,module.__dict__)
  File "statsmodels/api.py",line 32,module.__dict__)
  File "statsmodels/__init__.py",line 2,in <module>
ModuleNotFoundError: No module named 'statsmodels.__init__._version'

我该怎么做才能解决此问题,以便exe文件包含statsmodels软件包并可以运行?

解决方法

通过statsmodels属性访问

__version__版本。

import statsmodels

print(statsmodels.__version__)

其中显示

v0.12.0rc0+20.g98dfc0073

在我的系统上。

您应将import statsmodels.__init__._version替换为from statsmodels.__init__ import __version__

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。