Python简单代码中的错误
我写这个问题的时候感觉有点不好意思。
我刚安装了 Python 3.4 和 Django 1.8。
如果我进入 Python 解释器,然后输入:
>>> import django
>>> print(django.get_version())
我得到的结果是 1.8,这没问题。
但是如果我创建一个文件叫做 django.py,然后在里面输入:
import django
print(django.get_version())
会发生两件事:
当我运行这个文件时,会出现错误:
Traceback (most recent call last): File "django.py", line 1, in <module> import django File "C:\Python_Mongo\django.py", line 2, in <module> print(django.get_version()) AttributeError: 'module' object has no attribute 'get_version'
然后它会创建一个缓存文件夹
__pycache__
,如果我直接启动 Python 解释器并输入命令:import django
,它会运行我的django.py
文件!(其他命令都没问题)。
请帮帮我 :(
2 个回答
3
这没什么好奇怪的。如果你在一个叫做 anything.py
的文件里使用 import anything
,它会导入它自己。
在Python中,导入模块时,它会先在当前目录里找,如果找不到,才会去系统路径里找。
6
你在本地目录里有一个叫 django.py
的文件,这个文件和Django这个包发生了冲突。你需要把它改个名字。
看看你的错误信息:
File "django.py", line 1, in <module>
import django
注意到这一行 import django
是从一个叫 django.py
的文件里运行的吗?