【问题标题】:Package only imports when I run python3包仅在我运行 python3 时导入
【发布时间】:2021-07-26 01:14:27
【问题描述】:

我刚刚安装了一个包,测试的第一步(找到 here)告诉我 cd 进入“测试”目录并运行鼻子测试。 Nosetests 给了我一个 ModuleNotFoundError:

ERROR: Failure: ModuleNotFoundError (No module named 'clawpack')

每个测试导入clawpack(包)时都会提示。

到目前为止我发现了什么:

如果我在我的主目录中运行“python”,我可以使用命令“import clawpack”而不会出错。但是,当我在测试目录中时,“import clawpack”仅在我运行“python3”而不是“python”时才有效。如果我正在运行“python”,“import clawpack”会给我上面相同的 ModuleNotFoundError。

任何有关如何纠正此问题的建议将不胜感激。

【问题讨论】:

  • 在您的tests 目录中时,在命令行上执行python --version。它说什么?和python3 --version 有区别吗?当你在你的主目录中时怎么样?这似乎是一个路径/版本问题,因为您的计算机在某些情况下没有运行正确版本的 python。
  • 似乎您安装了不同版本的python。卸载旧的并只保留python3,所以它会一直被选为默认值
  • @PranavHosangadi 感谢您的快速回复。 Python --version 在测试目录和主目录中给出 3.7.1 和 python3 --versions 给出 3.9.4。

标签: python python-import modulenotfounderror


【解决方案1】:

您可能安装了多个 Python 版本,并且使用一个版本安装的软件包对另一个版本不可用。您可以使用which pythonwhich python3 测试您使用的Python 版本。

您如何安装clawpackpip?为确保您使用的是与正确 Python 二进制文件相对应的 pip 实用程序,您可以运行 python3 -m pip install clawpack

另外,如果您的主目录中有clawpack 的文件夹,那么您当前目录中的文件夹就是导入的文件夹。

【讨论】:

  • 这是我从 which python: (base) Users-MacBook-Pro-2:~ User$ which python /Users/User/anaconda3/bin/python (base) Users-MacBook- Pro-2:~ User$ which python3 /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 另一个评论建议我删除其中一个版本。这很危险吗?
  • 您不一定需要删除其中一个版本,但是拥有一个主要的 Python 环境会使事情变得更简单。看起来 python 二进制文件指向您的 Anaconda 安装,python3 指向安装在 /Library 下的二进制文件。另外,(base) 指的是你的虚拟环境,这是 Anaconda 隔离 Python 包的方式,这可能是你无法导入 clawpack 的原因。
猜你喜欢
  • 2012-10-16
  • 1970-01-01
  • 2019-06-29
  • 1970-01-01
  • 1970-01-01
  • 2012-07-28
  • 1970-01-01
  • 2018-02-28
  • 1970-01-01
相关资源
最近更新 更多