从包中相对导入

时间:2016-08-26 11:48:34

标签: python python-import

正常工作

serj@venus ~/work/hello $ tree -L 3 .
.
├── hello
│   ├── __init__.py
│   └── package
│       ├── __init__.py
│       └── module.py
└── main.py

serj@venus ~/work/hello $ cat main.py
from hello.package.module import print_hello

print_hello()

serj@venus ~/work/hello $ python main.py
Hello Void

但是当我将main.py移动到hello包并将import string更改为开始时。

serj@venus ~/work/hello/hello $ tree -L 3 ..
..
├── hello
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── main.py
│   └── package
│       ├── __init__.py
│       ├── __init__.pyc
│       ├── module.py
│       └── module.pyc
└── README

serj@venus ~/work/hello/hello $ cat main.py
from .package.module import print_hello

print_hello()

serj@venus ~/work/hello/hello $ python main.py
Traceback (most recent call last):
  File "main.py", line 1, in <module>
    from .package.module import print_hello
ValueError: Attempted relative import in non-package

为什么它将hello报告为非包装?详细信息详情

0 个答案:

没有答案