ModuleNotFoundError:没有名为“memoize”的模块

Posted

技术标签:

【中文标题】ModuleNotFoundError:没有名为“memoize”的模块【英文标题】:ModuleNotFoundError: No module named 'memoize' 【发布时间】:2018-05-28 02:33:49 【问题描述】:

我试过了,

pip install memoize
Requirement already satisfied: memoize

但是每次我运行 pytest 时,都会出现上述错误 ModuleNotFoundError: No module named 'memoize' 它无法加载conftest.py 文件,即使它位于我的测试文件夹中并且它还包含一个__init__.py 文件。

任何建议还有什么可能是错误/遗漏的?

【问题讨论】:

可能是因为python路径问题你试过python -m pytest projectrootdir/ 这行得通。谢谢@NareshKumar -m 代表什么?我也有 pylint 的问题...unable to import memoize (import-error) 您可以查看python --help 以获取有关参数的更多详细信息。问题在于路径变量您可能有不同版本的 python/modules 并且您的根项目文件夹不在 sys.path 中,以便 python 正确处理它。 【参考方案1】:

python 路径可能是问题

python -m pytest projectroot/

要解决此问题,您还可以使用设置路径

import sys, os
myPath = os.path.dirname(os.path.abspath(__file__)) 
sys.path.insert(0, myPath + '/../')

@Not_a_golfer

【讨论】:

上述命令帮助 pytest 工作。但是 linter 提出了这个Unable to import 'memoize' (import-error) 任何想法如何避免这种情况。我尝试卸载全局版本,然后再次安装memoize。没有帮助 你能提供你的项目树结构吗?您还可以查看以下文档 PYTHONPATH 。检查您当前的路径Finding-current-path-used

以上是关于ModuleNotFoundError:没有名为“memoize”的模块的主要内容,如果未能解决你的问题,请参考以下文章

ModuleNotFoundError:没有名为“dataviz”的模块

ModuleNotFoundError:没有名为“numpy”的模块

错误:ModuleNotFoundError:没有名为“图像”的模块

ModuleNotFoundError:没有名为“knox”的模块

ModuleNotFoundError:没有名为“memoize”的模块

ModuleNotFoundError:没有名为“pssh”的模块