簡體   English   中英

導入我自己的模塊時出現“ImportError: No module named...”

[英]“ImportError: No module named…” when importing my own module

我正在嘗試導入一個模塊,但我不斷收到 ImportError。

在 PortfolioStatus.py 文件中,我有以下代碼從 share_data.py 模塊導入 share_data 類
from Shares.share_data import share_data

我收到以下錯誤:

File "/home/lucasamos/FYP/Shares/Communication/PortfolioStatus.py", line 3, in <module>
from Shares.share_data import share_data
ImportError: No module named Shares.share_data

為了讓事情更加混亂,這在我的本地機器上運行良好,但我在 PythonAnywhere 上托管,這就是我收到錯誤的地方

我的文件層次結構如下圖所示

文件層次結構

提前致謝!

你應該試試這個:

import sys
sys.path.append("../Shares/templates")
import share_data

它將您的模板文件夾添加到 python 正在檢查模塊的路徑列表中。

好的,所以我終於解決了。 正如一些答案所示,我需要將我的根文件夾添加到系統路徑中。

最后這就是我所做的:

import sys
sys.path.append("/home/lucasamos/FYP")

使用manage.py文件在一層添加空的__init__.py

__init__.py文件的這種包含向 Python 解釋器表明該目錄應該被視為一個 Python 包。

這可能是因為您的 Shares 目錄不在您的 PYTHONPATH 中。

請參閱有關使用 PYTHONPATH 的這篇文章: https : //users-cs.au.dk/chili/PBI/pythonpath.html

摘抄:

但是,您通常需要導入與主程序不在同一目錄中的模塊。 繼續上面的例子,假設你正在編寫一個位於 ~/PBI/ 的程序,它需要包含 mymodule.py。

為了讓 Python 解釋器找到你的模塊,你需要告訴它去哪里尋找。 您可以通過設置環境變量 PYTHONPATH 來做到這一點。 根據您使用的 shell 程序(例如 xterm),這可以通過以下兩種方式之一完成。

重擊:

export PYTHONPATH=${PYTHONPATH}:/users/[您的用戶名]/PBI/Modules/

暫無
暫無

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

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