为什么 "import file" 有效,但 "from file import class" 无效?
Why works "import file", but "from file import class" won't work?
我有一个名为 "x.py" 的文件。这包含一个Class "Y"。
我有第二个文件,名称为 "z.py"。
x.py 和 z.py 在同一目录中。该目录有一个名为 __init__.py
的空文件
在z.py我做:
from x import Y
这会带来 ImportError: cannot import name Y
如果我这样做
import x
那么我也不例外,但也没有来自 x.py
这可能是什么问题?
更新:
在服务器环境中,它可以工作。但不是在本地,这是 Windows with sublime text。当 x 的整个代码都在 z 中时,它在本地也能正常工作。
结构是
-文件夹A
---x.py 里面有 class Y
---z.py with (from x import Y)
已解决。解决方案是:
在我的 pythonpath 和我已经安装的包中的某个地方,一个模块与我要导入的模块同名。由于解释器首先查看了另一个模块,它没有找到我想要导入的 Class 。
解决方案只是重命名要导入的模块以及导入调用本身。找了一大堆小问题。
我有一个名为 "x.py" 的文件。这包含一个Class "Y"。
我有第二个文件,名称为 "z.py"。
x.py 和 z.py 在同一目录中。该目录有一个名为 __init__.py
在z.py我做:
from x import Y
这会带来 ImportError: cannot import name Y
如果我这样做
import x
那么我也不例外,但也没有来自 x.py
这可能是什么问题?
更新: 在服务器环境中,它可以工作。但不是在本地,这是 Windows with sublime text。当 x 的整个代码都在 z 中时,它在本地也能正常工作。
结构是
-文件夹A
---x.py 里面有 class Y
---z.py with (from x import Y)
已解决。解决方案是:
在我的 pythonpath 和我已经安装的包中的某个地方,一个模块与我要导入的模块同名。由于解释器首先查看了另一个模块,它没有找到我想要导入的 Class 。
解决方案只是重命名要导入的模块以及导入调用本身。找了一大堆小问题。