【问题标题】:PyInstaller error: ModuleNotFoundError: No module named 'statsmodels.__init__._version'PyInstaller 错误:ModuleNotFoundError:没有名为“statsmodels.__init__._version”的模块
【发布时间】:2020-09-01 14:21:19
【问题描述】:

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

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

我已经尝试在 PyInstaller“钩子”目录中安装 statsmodels 钩子,如 here 所述,但这不起作用。我还尝试在我的 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, 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/__init__.py", line 2, in <module>
ModuleNotFoundError: No module named 'statsmodels.__init__._version'

我可以做些什么来解决这个问题,以便 exe 文件包含 statsmodels 包并且可以运行?

【问题讨论】:

  • 应该是import statsmodels._version

标签: python tkinter pyinstaller statsmodels


【解决方案1】:

statsmodels 版本通过__version__ 属性访问。

import statsmodels

print(statsmodels.__version__)

显示

v0.12.0rc0+20.g98dfc0073

在我的系统上。

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

【讨论】:

  • 那么,这是解决办法吗?
  • 那么如何实施来解决我的问题?
  • @arhodes4 - 不要使用import statsmodels.__init__._version - 改为使用import statsmodels,当您需要版本号时使用statsmodels.__version__
猜你喜欢
  • 2021-03-23
  • 2021-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
  • 2022-01-13
相关资源
最近更新 更多