尽管它在 PyCharm 中工作,但我在 cmd 提示符下运行我的脚本时遇到问题。我有一个这样的文件夹结构:
MyCode # PyCharm project folder
/UsefulFunctions
/Messaging
/Texter.py
/DiscordBot
/DiscordBot.py
在 DiscordBot.py 我有一个导入
from UsefulFunctions.Messaging import Texter
当我从 PyCharm 运行它时,这可以正常工作。但是,当我尝试从位于该DiscordBot级别的命令提示符运行时,它会出错:
导入错误:没有名为“UsefulFunctions”的模块
所以很自然地我认为这意味着该UsefulFunctions文件夹不在我的路径上。因此,我进入了我的环境变量并将其添加到我的PATH变量(以及MyCode文件夹中)。还是遇到了这个错误。我在这里浏览了一些关于导入的帖子(主要是从不同文件夹导入文件),他们建议执行以下操作:
import sys
sys.path.insert(0, '/path/to/application/app/folder')
import file
或者将__init__.py文件添加到每个文件夹,以便将它们注册为包。我继续将__init__文件添加到我试图从中导入的每个文件夹和子文件夹中,但仍然无法从命令提示符运行......我省略了sys.path.insert()解决方案,因为在已经明确地将它添加到我的PATH变量后,我看不到任何好处。另一种解决方案是添加“。” 在导入之前,因为据说它只是在搜索 python 的 PATH。我尝试这样做:
from .UsefulFunctions.Messaging import Texter
导入错误:尝试在没有已知父包的情况下进行相对导入
这个错误现在也显示在 PyCharm 上......我不明白为什么我的初始脚本可以在 PyCharm 上顺利运行,但是当从提示运行时,同一个程序似乎无法找到我的导入。有人可以解释一下运行程序的 PyCharm 和我的提示之间的区别吗?为什么这不,尽管有工作__init__.py的文件,并有加MyCode,并UsefulFunctions在Windows上我的PATH变量?
墨色风雨
眼眸繁星
长风秋雁
相关分类