簡體   English   中英

Python3.9 ModuleNotFoundError: No module named Can't figure out base directory

[英]Python3.9 ModuleNotFoundError: No module named Can't figure out base directory

我正在創建的程序遇到問題,我無法弄清楚為什么會收到此錯誤。 我確信它很簡單,而且我一直在研究它很長時間,我的眼睛需要一個 rest。

我的目錄布局是這樣的:

/home/my_username/My Programs/my_program
my_program
├── __init__.py
├── plugins
├────└── __init__.py
├──────└my_plugins
├─────────└── __init__.py
├─────────└── activate.py
├─────────└── messages.py

這是我在messages.py中的代碼
-----messages.py-----

welcome_msg = "Hello, thanks for trying my program."

這是我在 activate.py 中的代碼
-----激活.py-----

import plugins.my_plugins.messages as m
    
print(m.welcome_msg)

我正在使用 PyCharm 並且該程序在 PyCharm 中運行良好並且沒有顯示錯誤。

在我運行時在 PyCharm 之外:

python3.9 activate.py

我收到此錯誤
ModuleNotFoundError: No module named 'plugins'

如果我將 activate.py 更改為如下所示,它可以在 PyCharm 之外的終端中工作,但在 PyCharm 內部我收到錯誤“沒有名為消息的模塊”但是。 當我在 PyCharm 中運行它時出現錯誤。 它選擇 messages.py 模塊並顯示正確的文本。
-----激活.py-----

import plugins.my_plugins.messages as m
    
print(m.welcome_msg)

我在自學 Python。 是否有某種片段告訴 Python 基本目錄在哪里。 在這個例子中 my_program 是基目錄? 還是我應該忽略 PyCharm 錯誤? 我從來沒有忽略過 PyCharm 給出的錯誤,所以這將是第一個。

提前感謝您花時間幫助我解決這個問題。

附言。 請原諒我出生時患有嚴重閱讀障礙的任何拼寫或語法錯誤。

我在發布這個問題之前研究了 StackOverFlow,但沒有找到這個 q/a。 今天早上我再次開始研究,並找到了關於如何解決這個問題的詳細答案。
Python 3 中的相對導入

我選擇了解決問題的選項 2。

暫無
暫無

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

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