无法从错误消息中找到python脚本

use*_*817 6 python egg build

我试图跟踪我尝试运行我的代码时得到的python错误消息的来源test.py.

test.py我试图从错误输出中跟踪的模块(由其调用)显然是:

build/bdist.linux-x86_64/egg/george/gp.py
Run Code Online (Sandbox Code Playgroud)

错误消息片段:

File "build/bdist.linux-x86_64/egg/george/gp.py", line 498, in
    predict
Run Code Online (Sandbox Code Playgroud)
  1. 我能找到,build/bdist.linux-x86_64/但它是空的.也许这不是'正确'.
  2. 我也发现了不同的版本gp.py,但是当我对其进行更改时,没有任何反应,因此test.py不会调用该版本.

我想要做的就是找到发生错误的代码,这样我就可以添加更多的输出来弄清楚出了什么问题.


这是错误消息:

Traceback (most recent call last):
  File "test.py", line 213, in <module>
    mumc, dummy = gp1.predict(residuals, dates, kernel = kernelprime )
  File "build/bdist.linux-x86_64/egg/george/gp.py", line 511, in predict
  File "build/bdist.linux-x86_64/egg/george/solvers/basic.py", line 87, in apply_inverse
  File "/home/me/.local/lib/python2.7/site-packages/scipy/linalg/decomp_cholesky.py", line 174, in cho_solve
    b1 = asarray_chkfinite(b)
  File "/home/me/.local/lib/python2.7/site-packages/numpy/lib/function_base.py", line 1219, in asarray_chkfinite
"array must not contain infs or NaNs")
ValueError: array must not contain infs or NaNs
Run Code Online (Sandbox Code Playgroud)

很明显,在某些方面,我正在将一个包含infs或NaN的数组输入到一些它不喜欢的scipy或numpy代码中.但是为了看看为什么这些值首先是infs或NaNs,似乎predict模块中发生的任何问题都发生了.

(gp1是一个也在gp.py代码中定义的类!)

fpb*_*bhb 4

将模块编译为 Python 字节代码时,Python 将模块的字节编译版本存储源文件路径。这些字节编译版本通常会即时生成 \xe2\x80\x9c 并自动重新使用。

\n\n

您的程序无意中使用了gp.pyc树中某处的文件,该文件是从您看到的gp.py路径中编译的build/...。通常,build/仅在构建包时使用。我怀疑你在建造鸡蛋时不知何故把事情搞砸了george

\n\n

检查.pycPython 路径中的文件并删除它们。它们\xe2\x80\x98将自动重建(假设.py找到了真实的文件)。

\n\n

例如,从您的项目目录:

\n\n
$ find . -name `*.pyc` -exec rm {} \\;\n
Run Code Online (Sandbox Code Playgroud)\n