簡體   English   中英

從另一個文件夾中的腳本調用 Python 在同一文件夾中找不到模塊

[英]Python not finding module in same folder when called from a script in another folder

我有一組交互的 Python 腳本。 我從父目錄 (parent/main.py) 調用我的“主”腳本,它從子目錄 (parent/child/foo.py) 中的腳本 foo 導入 function,然后從另一個程序欄 (parent /child/bar.py)。 當我嘗試運行 main.py 時,我收到了 bar.py 的 ModuleNotFoundError。

我閱讀了命名空間模塊,據我所知,我沒有做錯任何事情,因為顯然“from child.foo import myfunc”應該沒問題?

堆棧跟蹤,每個請求:

Traceback (most recent call last):
  File ".\main.py", line 2, in <module>
    import child.foo
  File "C:\biglongpath\parent\child\run_n1.py", line 1, in <module>
    from bar import myfunc as mf
ModuleNotFoundError: No module named 'bar'

在 Python 3.x 中,您需要編寫:

from child.foo import myfunc

在 Python 2.7 中:

您應該在每個子目錄中包含一個__init__.py文件(即使它是空的)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM