python:我的包导入在3.1上失败,但在2.6上工作

时间:2011-03-13 00:24:15

标签: python import python-3.x

我决定在python 3.x而不是2.x开发我的家庭项目。所以我决定检查,如果它在3.1下工作。我在我的包目录上运行python3.1,然后:

>>> import fathom
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "fathom/__init__.py", line 3, in <module>
    from schema import Database
ImportError: No module named schema

当我进入fathom目录但是可以导入架构:

>>> import schema

当我在我的包目录上运行python2.6时,我可以这样做:

>>> import fathom

我的__init__.py有以下导入:

from schema import Database
from inspectors import PostgresInspector, SqliteInspector, MySqlInspector

我应该为python3.1添加内容吗?

1 个答案:

答案 0 :(得分:0)

你试过relative import吗?

from . import schema
from .inspectors import PostgresInspector

也适用于Python 2.6。

2to3脚本可以帮助您查明更多这些问题。