我认识到这是我的安装失败,我很抱歉在你的脚上提出这个无趣和无关紧要的问题,但对于我的生活,我无法设法找出问题出在哪里,我的想法已经用完了。我希望有人能迅速指出显而易见的事情。
我正在尝试分析python脚本(使用Kern的line_profiler),并且脚本需要加载netCDF4模块。我已经用pip安装了line_profiler和netCDF4。当我为已安装的软件包列表排队pip时,都报告为“当前”并进行更新。
在不使用探查器的情况下,我的脚本运行时没有问题,这意味着正确地加载了netCDF4模块。但是,如果我从"myscript“目录运行'kernprof -l -v myscript.py‘,则会得到以下错误:
Traceback (most recent call last):
File "/usr/local/bin/kernprof", line 9, in <module>
load_entry_point('line-profiler==1.0', 'console_scripts', 'kernprof')()
File "Library/Python/2.7/site-packages/kernprof.py", line 221, in main
execfile(script_file, ns, ns)
File "myscript.py", line 5, in <module>
from netCDF4 import Dataset
ImportError: No module named netCDF4 我是从/opt/local/bin/python的安装中运行Python的,这在我的路径中列在第一位。
因此,在任何情况下,如果我设置的默认Python版本与我的路径中第一个出现的版本相同,并且该默认版本能够访问netCDF4模块,那么为什么line_profiler不是?
发布于 2017-01-03 22:21:06
kernprof有一个重定向到默认python的shebang,它没有所有所需的模块。
您可以通过以下操作强制使用“完整”python安装:
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/kernprof -l -v myscript.py因此忽略了shebang,您可以使用包含所有必需包的python版本运行分析器。
https://stackoverflow.com/questions/41452002
复制相似问题