Python line_profiler 未找到模块

Nor*_*gen 5 python module installation-package line-profiler netcdf4

我认识到这是我的安装失败,很抱歉向您提出这个无趣且无关紧要的问题,但我一生都无法弄清楚出了什么问题,我已经没有想法了。我希望有人能够快速指出显而易见的事情。

我正在尝试分析 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 
Run Code Online (Sandbox Code Playgroud)

我正在从 /opt/local/bin/python 安装运行 Python,该安装在我的 PATH 中首先列出。

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

Jea*_*bre 4

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

\n\n

您可以通过执行以下操作强制使用“完整”python 安装:

\n\n
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/\xe2\x80\x8c\xe2\x80\x8bResources/Python.app\xe2\x80\x8c\xe2\x80\x8b/Contents/MacOS/Pyth\xe2\x80\x8c\xe2\x80\x8bon /usr/local/bin/kernprof -l -v myscript.py\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此 shebang 被忽略,并且您使用包含所有必需包的 python 版本运行探查器。

\n