当我导入整个包时,它给了我一个
NameError
。但是当我导入各个模块并运行相同的代码时,它可以正确执行。
我的结构是:
当我如下运行 main.py 时,它会给我一个
NameError
:
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()
我做错了什么吗?
要安装所有软件包,请使用
from my_package import *
而不是仅使用 import my_package
。我以前见过这个问题,我只能说 Python 有点时髦。
希望这能解决您的问题。