【问题标题】:Can't seem to import pyqt_fit on spyder似乎无法在 spyder 上导入 pyqt_fit
【发布时间】:2018-05-28 20:37:04
【问题描述】:

我一直在使用 Atom.io 来运行我的 python 代码,但最近我无法运行需要 pyqt_fit 的代码。我在 Atom 上找不到任何允许我运行 pyqt 的包。因此,我下载了 anaconda 和 spyder。我使用自制软件来安装 qt、sip 和 pyqt。

在 spyder 中,我尝试执行以下操作:

import pyqt_fit
from pyqt_fit import plot_fit
import numpy as np
from matplotlib import pylab

x = np.arange(0,3,0.01)
y = 2*x + 4*x**2 + np.random.randn(*x.shape)
def fct(params, x):
    (a0, a1, a2) = params
    return a0 + a1*x + a2*x*x
fit = pyqt_fit.CurveFitting(x, y, (0,1,0), fct)
result = plot_fit.fit_evaluation(fit, x, y)
print(fit(x)) # Display the estimated values
plot_fit.plot1d(result)
pylab.show()

但我收到以下错误:

runfile('/Users/Griffin/Atom/FYP Bifurcations/untitled1.py', wdir='/Users/Griffin/Atom/FYP Bifurcations')
Reloaded modules: pyqt_fit.utils, pyqt_fit.compat
Traceback (most recent call last):

  File "<ipython-input-24-effdfa66efe9>", line 1, in <module>
runfile('/Users/Griffin/Atom/FYP Bifurcations/untitled1.py', wdir='/Users/Griffin/Atom/FYP Bifurcations')

  File "/anaconda/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py", line 710, in runfile
execfile(filename, namespace)

  File "/anaconda/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py", line 93, in execfile
builtins.execfile(filename, *where)

  File "/Users/Griffin/Atom/FYP Bifurcations/untitled1.py", line 9, in <module>
import pyqt_fit

  File "pyqt_fit/__init__.py", line 14, in <module>
from . import functions, residuals

  File "pyqt_fit/functions/__init__.py", line 6, in <module>
from .. import loader

  File "pyqt_fit/loader.py", line 3, in <module>
from path import path

ImportError: cannot import name path

这与我放置 pyqt_fit 文件夹的位置有关吗? 提前致谢!

【问题讨论】:

    标签: python-2.7 pyqt spyder


    【解决方案1】:

    根据PyQt-Fit requirements filepath.py 包是一个依赖项。但是,PyQt-Fit package 自 2015 年 2 月 11 日以来一直没有更新,并且对 path.py 进行了不兼容的更改,它尚未跟踪。问题中的具体错误是由this change引起的,它删除了path作为Path类的别名。

    要解决此问题,您可以尝试像这样对 path.py 进行猴子修补:

    # before pyqt_fit is first imported
    import path
    path.path = path.Path
    
    import pyqt_fit
    from pyqt_fit import plot_fit
    

    或者,您可以将path.py 降级到>= 2.4 和

    【讨论】:

    • 嗨,ekhumoro,感谢您的帮助!显然,在我删除了 anaconda 和 atom 文件夹中的所有 pyqt 文件之后,pyqt 为我工作,基本上所有的痕迹都在我的笔记本电脑上。然后我重新安装了 pyqt5 并将其保存在 anaconda -> pkgs 中。我的猜测是我不小心安装了两个版本的pyqt,分别是pyqt4和pyqt5,这可能导致了一些混乱。
    猜你喜欢
    • 2017-01-20
    • 1970-01-01
    • 2019-12-28
    • 2013-05-13
    • 2016-04-09
    • 1970-01-01
    • 2015-02-21
    • 1970-01-01
    • 2018-03-07
    相关资源
    最近更新 更多