【问题标题】:ImportError . No module named Commons error - python导入错误。没有名为 Commons 的模块错误 - python
【发布时间】:2019-03-15 08:14:45
【问题描述】:

您好,我有一个项目,它由几个名为 Proj1 和 Proj2 的文件夹组成。

Home
    Proj1
       Scripts1.py

    Proj2
       Scripts2.py

    Commons.py

在我设置的 Scripts1 中

sys.path.append('/Home')
os.chdir('/Home')

import Commons,其中包含对每个脚本有用的功能。 整个项目在 Linux 服务器上。我用 bash 运行脚本

script_name=Scripts1
script_file="/Home/Proj1/${script_name}.py"
python "$script_file"

我不断收到错误ModuleNotFoundError: No module named 'Commons'。我错过了什么?

【问题讨论】:

  • 打印(sys.path)时收到什么输出?
  • 列出路径,包括我刚刚设置的路径/Home。
  • import Commons 但不是import Commons.py

标签: python linux bash importerror


【解决方案1】:

您需要为您的模块选择一个顶级名称,然后像这样安排您的代码:

Home
  script_name.py
  somename
    Common.py
    Proj1
      Scripts1.py
    Proj2
      Scripts2.py

然后使用import somename 并在模块本身内使用somename.Commonsomename.Proj1.Scripts1 等。此外,您可能希望将script_name.py 移动到模块目录本身之外,如图所示。

【讨论】:

    猜你喜欢
    • 2020-09-14
    • 2016-07-11
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    相关资源
    最近更新 更多