Программа python lmfit не запущена

import matplotlib.pyplot as plt
import numpy as np

from lmfit.model import load_model


def mysine(x, amp, freq, shift):
    return amp * np.sin(x*freq + shift)



data = np.loadtxt('sinedata.dat')
x = data[:, 0]
y = data[:, 1]

model = load_model('sinemodel.sav', funcdefs={'mysine': mysine})
params = model.make_params(amp=3, freq=0.52, shift=0)
params['shift'].max = 1
params['shift'].min = -1
params['amp'].min = 0.0

result = model.fit(y, params, x=x)
print(result.fit_report())

plt.plot(x, y, 'bo')
plt.plot(x, result.best_fit, 'r-')
plt.show()

Отслеживание (последний вызов последний):

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ IPython \ core \ interactiveshell.py", строка 2910, в run_code exec (code_obj, self.user_global_ns, self.user_ns)

Файл "", строка 4, из lmfit.model import load_model

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ lmfit__init __. Py", строка 39, из .confidence import conf_interval, conf_interval2d

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ lmfit \ trust.py", строка 10, из .minimizer import MinimizerException

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ lmfit \ minimizer.py", строка 34, в неопределенностях импорта

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ неопределенности__init __. Py", строка 224, в импорте из .core *

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ неопределенности \ core.py", строка 2889 POSITIVE_DECIMAL_UNSIGNED_OR_NON_FINITE = ur '((\ d *) (. \ D *)? | Nan | NAN | inf | INF) '^ SyntaxError: недопустимый синтаксис


person Zewo    schedule 09.03.2019    source источник
comment
Пожалуйста, предоставьте полную трассировку ошибки. Похоже, что импорт неопределенностей не выполняется, но здесь недостаточно знать, почему (неверный синтаксис может указывать на проблему с версией Python). Попробуйте простые import uncertainties и import uncertainties.core (например, просто введите их в командной строке Python) и исследуйте или сообщите о полной трассировке.   -  person M Newville    schedule 09.03.2019
comment
я действительно не знаю, что происходит. Я также пробую другую программу, связанную с lmfit, но возникает та же ошибка.   -  person Zewo    schedule 10.03.2019
comment
Файл ‹ipython-input-13-6df3e4b517ba›, строка 1, в ‹module› неопределенностей импорта Файл C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ неопределенности_ init_ .py, строка 224, в ‹module› из .core import * Файл C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ неопределенности \ core.py, строка 2889 POSITIVE_DECIMAL_UNSIGNED_OR_NON_FINITE = ur '((\ d *) (\ . \ d *)? | nan | NAN | inf | INF) '^ SyntaxError: неверный синтаксис   -  person Zewo    schedule 10.03.2019
comment
Я не могу понять, в чем настоящая проблема. пакет неопределенности или проблема версии Python.   -  person Zewo    schedule 10.03.2019
comment
Я также попробовал импортировать lmfit в консоли Ipython, и такая же ошибка существует   -  person Zewo    schedule 10.03.2019
comment
Вы должны отредактировать свой вопрос, чтобы предоставить ПОЛНУЮ неотредактированную трассировку В ВОПРОСЕ.   -  person M Newville    schedule 10.03.2019
comment
А как насчет сейчас ...   -  person Zewo    schedule 10.03.2019


Ответы (1)


Думаю нужно переустановить uncertainties. Похоже, в вашем коде используется синтаксис Python2.

Я считаю, что uncertainties необходимо (автоматически) использовать 2to3 tool при установке - похоже, что какая-то часть этого не сработала для вас.

Должно работать:

C:\.....\Anaconda3\Scripts\pip.exe install --force-reinstall uncertainties
person M Newville    schedule 10.03.2019
comment
Я загрузил неопределенности с github и поместил файл в site-packages. У меня это обычно работает, но в случае lmfit - нет. Если вы хотите, чтобы я переустановил неопределенность, пожалуйста, пришлите мне ссылку. - person Zewo; 10.03.2019
comment
Во-первых, проблема с uncertainties, а не с lmfit. Что еще более важно, не путайте place the file in site-packages с установкой пакета - это объясняет проблему, с которой вы столкнулись. Вместо этого вам нужно установить пакет с pip install uncertainties, как указано как в его собственных инструкциях, так и в ответе выше. Похоже, что проблемы у вас возникли из-за несоблюдения инструкций по установке. Дважды. Надеюсь, это поможет продемонстрировать, почему важно следовать инструкциям. - person M Newville; 10.03.2019
comment
OK. позвольте мне установить его с соответствующими протоколами. - person Zewo; 10.03.2019
comment
ИСПОЛЬЗУЯ pip, я только что загрузил pip-19.0.3 с этого bootstrap.pypa.io/get-pip .py ... После этого схожу с ума не знаю, что теперь делать .. :( - person Zewo; 10.03.2019
comment
Что ж, если вы используете anaconda python, вы можете сделать conda install pip, а затем pip install uncertainties. Или вы можете использовать conda для установки uncertainties, поскольку есть несколько каналов conda, для которых доступно uncertainties, включая conda-forge. Но ваш вопрос был о том, почему lmfit не работает, а не о том, как использовать хорошо документированные pip и / или conda для установки пакетов Python. Во всяком случае, ответ говорит вам, как именно запускать pip install. - person M Newville; 11.03.2019
comment
Спасибо . я кое-что перебираю, и у меня это сработало :) - person Zewo; 23.03.2019