编程语言
首页 > 编程语言> > Python line_profiler没有找到模块

Python line_profiler没有找到模块

作者:互联网

我认识到这是我的安装失败,我很抱歉在你的脚下放置这个无趣和无关紧要的问题,但对于我的生活,我无法弄清楚出了什么问题我已经用尽了想法.我希望有人能够快速指出显而易见的事实.

我试图配置一个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,它在我的PATH中首先列出.

所以,在任何情况下,如果我设置的默认Python版本与我的PATH中首先出现的版本相同,并且该默认版本能够访问netCDF4模块,为什么不是line_profiler?

解决方法:

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

您可以通过执行以下操作强制使用“完整”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版本的探查器.

标签:python,module,installation-package,netcdf4,line-profiler
来源: https://codeday.me/bug/20190627/1308702.html