Python脚本找不到导入的函数

Python脚本找不到导入的函数,python,import,Python,Import,我有两个非常简单的python文件。我这样做是为了测试blah2.py是否在2秒睡眠后看到最初声明为无的两个变量的更新版本。文件如下: 废话 废话 我得到以下错误,虽然,我不知道为什么 Traceback (most recent call last): File "blah1.py", line 2, in <module> import blah2 File "/home/pi/blah2.py", line 1, in <module> f

我有两个非常简单的python文件。我这样做是为了测试blah2.py是否在2秒睡眠后看到最初声明为无的两个变量的更新版本。文件如下:

废话

废话

我得到以下错误,虽然,我不知道为什么

 Traceback (most recent call last):
  File "blah1.py", line 2, in <module>
    import blah2
  File "/home/pi/blah2.py", line 1, in <module>
    from blah1 import movingVariable1
  File "/home/pi/blah1.py", line 10, in <module>
    blah2.myFunc()
AttributeError: module 'blah2' has no attribute 'myFunc'

虽然在blah2.py中,myFunc明确定义为一个函数。有人能解释一下我在这个基本例子中做错了什么吗

您正在blah2.py中创建循环依赖项

在您的示例中,blah1导入blah2,blah2反过来导入blah1,blah1将再次导入blah2,以此类推

为myFunc设置movingVariable&movingVariable2参数,并删除blah2.py中blah1.py的导入

对后续行动的答复

# blah1.py
from blah1 import movingVariable1
from blah1 import movingVariable2

def myFunc():
    global movingVariable1
    global movingVariable2
    print(movingVariable1)
    print(movingVariable2)

如果你像这样改变它,它会工作的。既然blah2导入blah1.py时没有看到import blah2,那么_name uuuuuuuuuuuu将不等于_main uuuuuuuuuuuuuu。

仅仅导入这两个变量,而不是整个blah1.py,是否仍然会导致循环依赖?我知道如果我导入整个文件会有问题,但我认为它不会只包含单个变量。如果您的问题得到解决,请接受答案。
 Traceback (most recent call last):
  File "blah1.py", line 2, in <module>
    import blah2
  File "/home/pi/blah2.py", line 1, in <module>
    from blah1 import movingVariable1
  File "/home/pi/blah1.py", line 10, in <module>
    blah2.myFunc()
AttributeError: module 'blah2' has no attribute 'myFunc'
# blah1.py
from blah1 import movingVariable1
from blah1 import movingVariable2

def myFunc():
    global movingVariable1
    global movingVariable2
    print(movingVariable1)
    print(movingVariable2)
# blah2.py
from time import sleep

movingVariable1 = None
movingVariable2 = None

if __name__ =='__main__':
    import blah2
    sleep(2)
    movingVariable1 = "sup"
    movingVariable2 = "blahhh"
    blah2.myFunc()