当前位置: 首页 > 知识库问答 >
问题:

从终端运行脚本时的ModuleNotFoundError

关翰
2023-03-14

我有以下文件夹结构:

  • 应用程序
    • __init__.py
    • utils
      • __init__.py
      • transform.py
        null

      当我运行Pycharm的fish.py时,它工作得非常好。但是,当我从终端运行fish.py时,我得到错误moduleNotFounderRor:没有名为'utils'的模块。

      我在终端中使用的命令:来自应用程序文件夹Python Products/fish.py

      我已经研究了这里建议的解决方案:从不同的文件夹导入文件,将应用程序文件夹的路径添加到sys.path帮助中。但是,我想知道是否有其他方法可以使它工作,而不在fish.py中添加两行代码。这是因为我在/products目录中有许多脚本,不想在每个脚本中添加两行代码。

共有1个答案

易宣
2023-03-14

您可能希望运行python-m products.fish。它与Python Products/fish.py之间的区别在于,前者大致相当于在shell中执行导入products.fish(但是将__name__设置为__main__),而后者不知道它在包层次结构中的位置。

 类似资料:
  • 问题内容: 我正在运行一个Perl脚本,该脚本用另一个字符串替换: 当我从终端运行此命令时,它会将给定文件中所有出现的替换为。当我从Java运行此文件时,它确实访问了文件,但没有替换发生: 我确定它可以访问文件(该文件似乎已在gedit中进行了编辑(需要重新加载))。 我尝试了Java 类,但发生了相同的结果。 当我使用或与其他命令(例如)一起使用时,它们可以很好地工作。 具有讽刺意味的是,我从j

  • 问题内容: 我是python的新手,已经学习了几周。但是,现在我刚刚更改了操作系统,现在正在使用ubuntu,并且无法在终端上运行任何脚本。 我确定有, 但是当我去终端输入时,例如 终端显示了这样的错误消息 python:无法打开文件“ test.py”:[Errno 2]没有这样的文件或目录 我该怎么办? 我必须将文件保存在任何特定的文件夹中以使其在终端上运行吗? 问题答案: 这个错误: pyt

  • 我写了一个程序在IDLE令牌化文本文件,它开始令牌349文本文件!我怎样才能阻止它?如何停止正在运行的Python程序?

  • D:\reactnative\awesomeproject>react-native run-android info运行jetifier将库迁移到AndroidX。您可以使用“--no-jetifier”标志禁用它。Jetifier找到863个文件要转发JEtify。使用4个工作者...信息正在启动JS服务器...信息正在启动仿真程序...错误:无法启动仿真程序。原因:未找到作为输出的仿真器。警

  • 我希望使用Python中的Twilio CLI运行以下命令: 该命令在终端上有效,但如果我尝试通过python执行则不起作用。它一直给出以下错误: 编辑: 我试过这个: 现在我得到了这个错误: 但是,我已经在/etc/profile中设置了环境变量,并使用以下命令进行了验证: 我不知道这个错误的原因是什么。有人能帮我吗?

  • 当我从终端运行npm时,我得到的是这个错误,其他什么也没有。没有一个npm命令起作用,所有的命令都给出了相同的错误,我甚至无法安装依赖于NodeJ的程序。 $npm module.js:557抛出错误;^ 在function.module._resolveFileName(module.js:555:15) 在function.module._load(module.js:482:25) 在mod