将statsmodels与pyinstaller一起使用时出错

拉斐尔卡瓦略(Rafaelncarvalho):

我在使用PyInstaller和时遇到问题statsmodels当我运行可执行文件ImportError: No module named 'statsmodels.__init__.tools',出现错误消息,当我直接使用Python运行代码时,一切正常。

我已经尝试过这种解决方案

它适用于该tools模块,但出现另一个错误:__init __._ version

我尝试添加statsmodelsstatsmodels.__init__statsmodels.__init__._version,但也无法正常工作。

先生 :

statsmodels是PyInstaller的复杂模块之一,这是因为它依赖于其他一些模块,它们会使PyInstaller导入图混乱。我的解决方案可能看起来没有优化,但可以完成工作。

hidden-imports只会告诉PyInstaller寻找该模块,但有时它无法跟踪模块依赖性(例如DLL,外部py文件等)。因此,statsmodels这无济于事。

总体过程是首先告诉PyInstaller不要跟踪statsmodelsexclude-module并手动将模块提供给最终的可执行文件。此外,我们需要像捆绑(某些模块numpypandas等等)与Tree类。

我正在将Python 3.7.4与最新的PyInstaller 3.5一起使用。假设以下示例取自官方文档

import numpy as np
import statsmodels.api as sm
import statsmodels.formula.api as smf
dat = sm.datasets.get_rdataset("Guerry", "HistData").data
results = smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit()
print(results.summary())

下面spec文件使用(我使用Python的VENVenv旁边的脚本)

# -*- mode: python -*-

block_cipher = None


a = Analysis(['script.py'],
             pathex=['<root_project_path>'],
             binaries=[],
             datas=[],
             hiddenimports=['six', 'fractions', 'csv', 'pytz', 'timeit'],
             hookspath=[],
             runtime_hooks=[],
             excludes=['statsmodels'],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
a.datas += Tree("./env/Lib/site-packages/statsmodels", prefix="statsmodels")
a.datas += Tree("./env/Lib/site-packages/numpy", prefix="numpy")
a.datas += Tree("./env/Lib/site-packages/pandas", prefix="pandas")
a.datas += Tree("./env/Lib/site-packages/scipy", prefix="scipy")
a.datas += Tree("./env/Lib/site-packages/dateutil", prefix="dateutil")
a.datas += Tree("./env/Lib/site-packages/patsy", prefix="patsy")

pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='script',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=False,
          runtime_tmpdir=None,
          console=True )

最后使用以下命令生成可执行文件:

pyinstaller script.spec

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将pynput与pyinstaller一起使用时出现错误

将argv与函数一起使用时出错

将fnAddData与数据顺序一起使用时出错

将 ScrollChor 与 NavItem 一起使用时出错

将FutureBuilder与本地JSON一起使用时出错

将AutoMapper与异步方法一起使用时出错

将ngMaterial与ngRoute一起使用时出错

将Express会话与Express一起使用时出错

将SharedElementTransition与recyclerView一起使用时出错

将SparkJob与NamedRddSupport一起使用时出错

将cout与指针值一起使用时出错

将 File 与 ImagePicker Flutter 一起使用时出错

将 statsmodels 与 groupby 一起使用

将OpenCV与PyInstaller一起使用

Python错误:将statsmodels与一行数据一起使用时,未调整大小的对象的len()

将getItem与DynamoDB和节点aws-sdk库一起使用时出错

将Conv2DLayer与lasagne NeuralNet一起使用时出错

将jsonwebtoken与angular-cli应用程序一起使用时出错

将 with 语句与 PostgreSQL 插入查询一起使用时出错

将 wc -c 与文件名一起使用时出错

将布局锚点与 UIStackView 一起使用时出错

将尴尬的数组与索引数组一起使用时出错

尝试将数据绑定提供的上下文变量与BaseObservable一起使用时出错

将预编译的Azure函数与其他方法一起使用时出错

将JQueryUI与TypeScript和DefinitelyTyped定义文件一起使用时出错

NHibernate和C#:将嵌套属性与Criteria一起使用时出错

将GSAP的scrollToPlugin与create-react-app一起使用时出错

将dcast与多个value.var一起使用时出错

将moment.max与mongoDB查询的结果一起使用时出错