这对我来说是一个奇怪的问题。我在pycharm开发了一个程序,运行良好。如果我要在终端或通常在pycharm之外启动这个程序,会发生很多ModuleNotFoundErrors。为什么pycharm中的导入是正确的,但在它之外是错误的?
我试图改变进口。例如,我将“从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中标记您在源Source的基础上调用主脚本的目录。
为此,右键单击Pycharm树文件夹结构(项目选项卡)上的文件夹,选择Mark Directory as -> Sources Root
。该文件夹将变为蓝色。现在,所有导入路径都从此Root文件夹开始。
从评论中的讨论以及更改导入行的事实如何使导入在Pycharm或终端中崩溃,您的问题来自于哪个文件夹被视为根目录的差异。通过使用我解释的设置,可以避免这样的问题。