2011-03-13 45 views
0

我决定用python 3.x开发我的家庭项目,而不是2.x.所以我决定检查一下,如果它在3.1下工作。我跑python3.1上面我的包目录,然后:python:我的包导入3.1失败,但在2.6上工作

>>> 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 

当我进入捉摸目录但模式可以被导入:

>>> import schema 

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

>>> import fathom 

__init__.py有以下导入:

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

我应该为python3.1添加一些东西吗?

回答

0

你试过relative import吗?

from . import schema 
from .inspectors import PostgresInspector 

也适用于Python 2.6。

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

+0

是的,相对进口需要这个。在开始时。我不知道这件事。但2to3工作很好,并修正了其他一些东西。谢谢 :-) – gruszczy 2011-03-13 00:38:19