从不同文件夹导入模块(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

我有一个文件夹,其中包含两个单独的文件夹,其中一个保存一些python模块,另一个保存使用这些模块的python脚本:

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
,但没有效果。