python lmfit程序没有运行
Posted
技术标签:
【中文标题】python lmfit程序没有运行【英文标题】:python lmfit program not running 【发布时间】:2019-03-09 18:42:59 【问题描述】: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 行,在 from .confidence import 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 提示符下输入)并调查或报告完整的回溯。
我真的不知道发生了什么。我也尝试了与 lmfit 相关的不同程序,但出现了同样的错误。
文件“我认为您需要重新安装uncertainties
。看起来您拥有的代码正在使用 Python2
语法。
我相信uncertainties
需要(自动)在安装时使用2to3 tool
——看起来其中的某些部分对您不起作用。
应该可以这样做:
C:\.....\Anaconda3\Scripts\pip.exe install --force-reinstall uncertainties
【讨论】:
我从 github 下载了不确定性并将文件放在站点包中。这东西通常对我有用,但在 lmfit 的情况下它不是。如果你想让我重新安装不确定性,请把它的链接发给我。 首先,问题出在uncertainties
,而不是lmfit
。更重要的是,不要将place the file in site-packages
与安装软件包混淆——这解释了您所看到的问题。相反,您需要使用pip install uncertainties
安装软件包,如其自身说明和上述答案中所述。您遇到的问题似乎是因为您没有按照安装说明进行操作。两次。希望这有助于说明为什么遵循说明很重要。
好的。让我用适当的协议安装它。
使用 pip 我刚刚从 bootstrap.pypa.io/get-pip.py 下载了 pip-19.0.3... 之后我疯了,不知道现在该做什么 .. :(
好吧,如果你使用 anaconda python,你可以先conda install pip
然后pip install uncertainties
。或者,您可以使用conda
来安装uncertainties
,因为有几个conda 频道可以使用uncertainties
,包括conda-forge
。但是您的问题是关于为什么lmfit
不起作用,而不是关于如何使用有据可查的pip
和/或conda
来安装Python 包。无论如何,答案告诉你究竟如何运行pip install
。以上是关于python lmfit程序没有运行的主要内容,如果未能解决你的问题,请参考以下文章
Python LMFIT - 使用有界参数时,获取最小化的错误结果