【问题标题】:ModuleNotFoundError in a local repository [duplicate]本地存储库中的 ModuleNotFoundError [重复]
【发布时间】:2020-09-13 05:51:32
【问题描述】:

我已经克隆了一个 git repo,它现在在我的机器上是本地的。 在路径Pipes/Filtering 中有一个名为filter_pileup_by_site_list.py 的脚本,我正在尝试使用它,它是一个docopt CLI,所以我将转到我上面提到的目录并在终端中输入以下内容:python filter_pileup_by_site_list.py Filter_pileup_by_site <parameters>
该脚本从 repo 中的另一个目录导入一个类,其路径为:Pipes/Utility
我上面写的命令失败并返回以下错误:

  File "filter_pileup_by_site_list.py", line 16, in <module>
    from Utility.Pileup_class import Pileup_line
ModuleNotFoundError: No module named 'Utility'

我遇到的所有解决方案都与 PYTHONPATH 相关,所以我对其进行了编辑,现在当我在终端输入 echo $PYTHONPATH 时,我得到 /Pipes:/Pipes/Utility:/Pipes/Filtering:/Pipes/:/Bigdata/bioinf/Pipes3:/Bigdata/bioinf/Pipes:/Bigdata/users/eliran/Pipes
它仍然返回我之前的确切回溯。

如果它确实很重要,我正在使用 linux mint。

【问题讨论】:

  • 您可以分享您尝试执行的脚本的导入语句吗?
  • 它出现在回溯中。有from Utility.Pileup_class import Pileup_line
  • 脚本在 linux 服务器上运行良好,导入本身没问题。

标签: python linux pythonpath


【解决方案1】:

适用的解决方案:

在脚本顶部添加这些行:

import sys  
sys.path.insert(1, 'path/to/another/directory')

下面的工作是因为默认 python 只在本地文件夹中查找文件,所以我必须添加上面的行来告诉它在上一个文件夹中搜索,以便它可以找到 Utility 文件夹。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 2021-11-14
    • 2013-10-10
    相关资源
    最近更新 更多