如何直接从Python包导入类?

时间:2018-02-18 18:14:51

标签: python module packages

我正在尝试创建一个python包,我可以将一个类直接导入另一个项目并使用它。这是我的文件目录设置。

proj1
  proj1
    __init__.py
    proj1.py
  setup.py
proj2
  file.py

__init__.py

的位置
from .proj1 import Proj1

setup.py

#!/usr/bin/env python
from setuptools import find_packages, setup

setup(name='proj1',
      version='1.0',
      description='',
      author='',
      author_email='',
      url='',
      packages=find_packages(),
     )

和file.py包含

from proj1 import Proj1

class File(Proj1):
   ...

当我执行file.py时,收到错误cannot import name 'Proj1'。如果我有from proj1.proj1 import Proj1,我可以导入它,但这很麻烦。

如何直接从包中导入类?

1 个答案:

答案 0 :(得分:0)

您必须将proj1的路径添加到sys.path中。看看sys.path.insert。 E.g:

sys.path.insert(0, myPath)