从不同文件夹导入模块(python)
我有一个文件夹,其中包含两个单独的文件夹,其中一个保存一些python模块,另一个保存使用这些模块的python脚本:从不同文件夹导入模块(python),python,python-module,Python,Python Module,我有一个文件夹,其中包含两个单独的文件夹,其中一个保存一些python模块,另一个保存使用这些模块的python脚本: parentFolder/ lib/ __init__.py readFile.py writeFile.py folder/ run.py \uuuu init\uuuu.py文件为空。在run.py中,我有以下内容: from ..lib import readFile data = readFil
parentFolder/
lib/
__init__.py
readFile.py
writeFile.py
folder/
run.py
\uuuu init\uuuu.py
文件为空。在run.py
中,我有以下内容:
from ..lib import readFile
data = readFile('file.dat')
这给了我一个错误
Traceback (most recent call last):
File "run.py", line 1, in <module>
from ..lib import readFile
ValueError: Attempted relative import in non-package
回溯(最近一次呼叫最后一次):
文件“run.py”,第1行,在
从..lib导入读取文件
ValueError:尝试在非包中进行相对导入
我缺少什么?您需要向每个目录添加
\uuu init\uuuu.py
文件(可以为空)以使它们成为一个包。有关详细信息,请参阅。您需要向每个目录添加\uuuu init\uuuu.py
文件(可以为空)以使其成为一个包。有关更多详细信息,请参阅。您指的是哪些目录?指向尚未包含它们的两个目录,即父文件夹
和文件夹
。这需要告诉Python目录实际上是代码包()为什么文件夹
需要一个run.py
将不会被任何东西导入。将\uuuu init\uuuu.py
添加到两者中,我仍然收到相同的错误。如何运行代码?我四处搜索了一下,似乎和你的差不多。尝试使用-m开关将您所指的目录切换到尚未包含它们的两个目录,即parentFolder
和folder
。这需要告诉Python目录实际上是代码包()为什么文件夹
需要一个run.py
将不会被任何东西导入。将\uuuu init\uuuu.py
添加到两者中,我仍然收到相同的错误。如何运行代码?我四处搜索了一下,似乎和你的差不多。尝试使用-m开关您是否已经尝试过答案中的一些提示?@MichałGóral我尝试过使用python-m run.py
,但没有效果。您是否已经尝试过答案中的一些提示?@MichałGóral我尝试过使用python-m run.py
,但没有效果。