当我导入整个包裹时,它会给我一个
NameError
。但是,当我导入单个模块并运行相同的代码时,它会正常执行。
我的结构是:
-
my_package/目录
-
__init__.py
-
first.py
-
second.py
-
main.py
当我按如下方式运行main.py时,它会给我一个
命名错误
:
import my_package
first.say_1st()
second.say_2nd()
"C:\\Program Files\\Python312\\python.exe" "D:\\E Drive\\Training\\pythonProject1\\Sample scripts\\Package example\\main.py"
Traceback (most recent call last):
File "D:\\E Drive\\Training\\pythonProject1\\Sample scripts\\Package example\\main.py", line 4, in \<module\>
first.say_1st()
^^^^^
NameError: name 'first' is not defined. Did you mean: 'list'?
Process finished with exit code 1
但当我奔跑时
main.py
如下所示,它为我提供了预期的输出。
from my_package import first
first.say_1st()
from my_package import second
second.say_2nd()
我做错什么了吗?