python - 导入错误。没有名为 Commons 的模块错误 - python

标签 python linux bash importerror

您好,我有一个项目,它由几个名为 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:没有名为“Commons”的模块。我错过了什么?

最佳答案

您需要为模块选择一个顶级名称,然后按如下方式排列代码:

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

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

关于python - 导入错误。没有名为 Commons 的模块错误 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55178224/

相关文章:

python - pandas.Panel 弃用警告实际推荐的是什么?

c++ - 有人在 RHEL 上构建过omniORB吗?

bash - 如果找不到匹配项,则通过 grep 返回新行

python - 两个子图的单个颜色条更改其中一个子图的大小

python - 有没有一种快速的方法可以在 Python 中获得与 ls() 等效的 R?

c - 存储的错误值和其他

bash - 如何grep粗体文本

python - 从 python 中的字符串运行 bash 命令列表

python - 如何绘制文本簇?

php - 允许特定 PHP 脚本读/写目录的安全方法?