Программа 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()

Traceback (последний последний вызов):

Файл "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 импортировать load_model

Файл "C:\Users\MUHAMMAD ALI QURESHI\Anaconda3\lib\site-packages\lmfit__init__.py", строка 39, в из .confidence импортировать conf_interval, conf_interval2d

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

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

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

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

Предоставьте полную трассировку ошибки. Похоже, что импорт неопределенностей не работает, но этого недостаточно, чтобы понять, почему (неверный синтаксис может указывать на проблему с версией Python). Попробуйте простые import uncertainties и import uncertainties.core (например, просто введите их в командной строке Python) и изучите или сообщите о полной трассировке.

M Newville 09.03.2019 20:25

я действительно не знаю, что происходит. Я также пробую другую программу, связанную с lmfit, но возникает та же ошибка.

Zewo 09.03.2019 22:20

Файл "<ipython-input-13-6df3e4b517ba>", строка 1, в <module> import неопределенности Файл "C:\Users\MUHAMMAD ALI QURESHI\Anaconda3\lib\site-packages\uncertainties_в этом_.py", строка 224, в <module> from .core import * File "C:\Users\MUHAMMAD ALI QURESHI\Anaconda3\lib\site-packages\uncertainties\core.py", строка 2889 POSITIVE_DECIMAL_UNSIGNED_OR_NON_FINITE = ur'((\d*)(\.\ d*)?|nan|NAN|inf|INF)' ^ SyntaxError: неверный синтаксис

Zewo 09.03.2019 22:37

не могу понять в чем собственно проблема. пакет неопределенности или проблема с версией Python.

Zewo 09.03.2019 22:39

я также попробовал импорт lmfit в консоли Ipython, и существует та же ошибка

Zewo 09.03.2019 22:43

Вы должны отредактировать свой вопрос, чтобы предоставить ПОЛНУЮ неотредактированную трассировку В ВОПРОСЕ.

M Newville 10.03.2019 04:15

А что сейчас...

Zewo 10.03.2019 12:51
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
7
278
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, вам нужно переустановить uncertainties. Похоже, что код, который у вас есть, использует синтаксис Python2.

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

Он должен работать, чтобы сделать:

C:\.....\Anaconda3\Scripts\pip.exe install --force-reinstall uncertainties

Я скачал неопределенность с github и поместил файл в site-packages. Это обычно работает для меня, но в случае lmfit это не так. Если вы хотите, чтобы я переустановил неопределенность, пожалуйста, пришлите мне ссылку на нее.

Zewo 10.03.2019 12:50

Во-первых, проблема с uncertainties, а не с lmfit. Что еще более важно, не путайте place the file in site-packages с установкой пакета — это объясняет проблему, которую вы видите. Вместо этого вам нужно установить пакет с pip install uncertainties, как указано как в его собственных инструкциях, так и в ответе выше. Похоже, что у вас возникли проблемы из-за того, что вы не следовали инструкциям по установке. Дважды. Надеюсь, это поможет продемонстрировать, почему важно следовать инструкциям.

M Newville 10.03.2019 13:46

OK. позвольте мне установить его с соответствующими протоколами.

Zewo 10.03.2019 16:58

ИСПОЛЬЗУЯ pip, я только что скачал pip-19.0.3 из этого bootstrap.pypa.io/get-pip.py... После этого я сошел с ума, не знаю, что теперь делать .. :(

Zewo 10.03.2019 18:03

Что ж, если вы используете anaconda python, вы можете сделать conda install pip, а затем pip install uncertainties. Или вы можете использовать conda для установки uncertainties, так как есть несколько каналов conda, в которых есть uncertainties, в том числе conda-forge. Но ваш вопрос был о том, почему lmfit не работает, а не о том, как использовать хорошо документированные pip и/или conda для установки пакетов Python. В любом случае, ответ говорит вам, как именно бегать pip install.

M Newville 11.03.2019 04:35

Спасибо . Я что-то разобрался, и это сработало для меня :)

Zewo 23.03.2019 20:45

Другие вопросы по теме