Python line_profiler 找不到模块

Python line_profiler not finding module

我知道这是我的安装失败,我很抱歉把这个无趣且无关紧要的问题摆在你面前,但对于我来说,我无法弄清楚发生了什么错了,我 运行 没主意了。我希望有人能够快速指出显而易见的地方。

我正在尝试分析一个 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 

我正在 运行ning Python 来自 /opt/local/bin/python 的安装,它在我的 PATH 中排在第一位。

所以,无论如何,如果我设置的默认 Python 版本与我的 PATH 中首先出现的版本相同,并且该默认版本能够访问 netCDF4 模块,为什么't line_profiler?

kernprof 有一个 shebang 重定向到默认的 python 安装,它没有所有必需的模块。

您可以通过以下方式强制使用您的 "complete" python 安装:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/‌​Resources/Python.app‌​/Contents/MacOS/Pyth‌​on /usr/local/bin/kernprof -l -v myscript.py

所以 shebang 被忽略了,你 运行 版本为 python 的分析器包含所有必需的包。