如果它在 pycharm 中工作,如何修复 'modulenotfounderror'?
How to fix 'modulenotfounderror' if it is working in pycharm?
这对我来说是个奇怪的问题。我在 pycharm 开发了一个程序,运行良好。如果我要在终端中或通常在 pycharm 之外启动此程序,则会发生很多 ModuleNotFoundErrors。为什么 pycharm 中的导入是正确的,而外部是错误的?
我试图更改导入。例如,我将 "from core.bot import Bot" 更改为 "from bot import Bot"。现在它在终端中工作,但在 pycharm 中,代码行带有红色下划线。
一些导入示例:
'''
from core.bot import Bot
'''
'''
from talib._ta_lib import BBANDS, SMA, MACD
from binance.BinanceKeys import BinanceKey1
from binance.client import Client
'''
为避免此类问题,您应该在 Pycharm 中标记您将从中调用主脚本的目录作为源目录。
为此,请右键单击 Pycharm 树形文件夹结构(“项目”选项卡)上的文件夹,select Mark Directory as -> Sources Root
。该文件夹将变为蓝色。您所有的导入路径现在都从此根文件夹开始。
从评论中的讨论以及更改导入行的事实如何导致导入在 Pycharm 或终端中崩溃可以看出,您的问题来自于将哪个文件夹视为根。通过使用我解释的设置,可以避免此类问题。
这对我来说是个奇怪的问题。我在 pycharm 开发了一个程序,运行良好。如果我要在终端中或通常在 pycharm 之外启动此程序,则会发生很多 ModuleNotFoundErrors。为什么 pycharm 中的导入是正确的,而外部是错误的?
我试图更改导入。例如,我将 "from core.bot import Bot" 更改为 "from bot import Bot"。现在它在终端中工作,但在 pycharm 中,代码行带有红色下划线。
一些导入示例:
'''
from core.bot import Bot
'''
'''
from talib._ta_lib import BBANDS, SMA, MACD
from binance.BinanceKeys import BinanceKey1
from binance.client import Client
'''
为避免此类问题,您应该在 Pycharm 中标记您将从中调用主脚本的目录作为源目录。
为此,请右键单击 Pycharm 树形文件夹结构(“项目”选项卡)上的文件夹,select Mark Directory as -> Sources Root
。该文件夹将变为蓝色。您所有的导入路径现在都从此根文件夹开始。
从评论中的讨论以及更改导入行的事实如何导致导入在 Pycharm 或终端中崩溃可以看出,您的问题来自于将哪个文件夹视为根。通过使用我解释的设置,可以避免此类问题。