Примечание: я уменьшил свою проблему, поэтому код состоит всего из нескольких строк (по сравнению с 600)
У меня проблема: с main.py
Я хочу импортировать файл slave.py
. slave.py
ссылается на функцию из main.py
, и, конечно, я получаю NameError: name 'funcFromMain' is not defined
Вот мой код для main.py:
import slave
def funcFromMain():
return 6
print(slave.funcFromSlave())
А вот мой код для slave.py:
def funcFromSlave():
one = funcFromMain() # <- this doesn't work
two = 2
return (one + two)
Я получаю точную ошибку: (обратите внимание, что оба файла находятся в одном каталоге)
Traceback (most recent call last):
File "C:\Users\PrinceOfCreation\Documents\test\main.py", line 6, in <module>
print(slave.funcFromSlave())
File "C:\Users\PrinceOfCreation\Documents\test\slave.py", line 2, in funcFromSlave
one = funcFromMain()
NameError: name 'funcFromMain' is not defined
Я попытался добавить import main
вверху slave.py и получил следующую ошибку:
Traceback (most recent call last):
File "C:\Users\PrinceOfCreation\Documents\test\main.py", line 1, in <module>
import slave
File "C:\Users\PrinceOfCreation\Documents\test\slave.py", line 1, in <module>
import main
File "C:\Users\PrinceOfCreation\Documents\test\main.py", line 6, in <module>
print(slave.funcFromSlave())
AttributeError: module 'slave' has no attribute 'funcFromSlave'
С from slave import funcFromSlave
вместо верхней части основного:
Traceback (most recent call last):
File "C:\Users\PrinceOfCreation\Documents\test\main.py", line 6, in <module>
print(funcFromSlave())
File "C:\Users\PrinceOfCreation\Documents\test\slave.py", line 2, in funcFromSlave
one = funcFromMain()
NameError: name 'funcFromMain' is not defined