【发布时间】:2015-12-04 14:29:17
【问题描述】:
当有人回答这个问题时,我会觉得自己完全是个白痴,因为我知道我以前做过。
使用 Python 2.7.5
我的文件结构如下:
sandbox/
|-- fun
| |-- __init__.py
| `-- spock.py
|-- __init__.py
`-- something
|-- blah.py
`-- __init__.py
请注意,每个级别都有一个__init__.py 文件。每个__init__.py 都是空的。
spock.py 和 blah.py 超级简单。
spock.py
def helpmespock():
print "help me spock!"
blah.py
import fun.spock
fun.spock.helpmespock()
从沙盒和沙盒/某物执行 blah 会导致相同的错误:
[me@computer sandbox]$ python something/blah.py
Traceback (most recent call last):
File "something/blah.py", line 1, in <module>
import fun.spock
ImportError: No module named fun.spock
我做错了什么?为什么我不能从blah.py 导入spock.py?
已解决
感谢所有回复的人。所有这些都很有帮助。
除了直接执行 blah.py 之外,我所做的一切都是正确的。我在导入blah.py 的顶层添加了test.py。
test.py:
import something.blah
something.blah.blah()
所以现在树看起来像这样:
sandbox/
|-- fun
| |-- __init__.py
| `-- spock.py
|-- something
| |-- blah.py
| `-- __init__.py
`-- test.py
执行test.py 给了我:
[sri@s6000-devel sandbox]$ python test.py
help me spock!
【问题讨论】:
-
不,[sri@s6000-devel something]$ python blah.py 文件“blah.py”,第 1 行导入 ..fun.spock ^ SyntaxError: invalid syntax
-
仍然没有喜悦。 (Python 2.7.5) [sri@s6000-devel something]$ python blah.py File "blah.py", line 1 from .. import fun.spock ^ SyntaxError: invalid syntax
-
没有init.PYC文件这一事实是否是线索?
标签: python python-2.7 import