簡體   English   中英

如何直接從Python包中導入類?

[英]How do I import a class directly from a Python package?

我正在嘗試制作一個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 ,我可以將其from proj1.proj1 import Proj1 ,但這很麻煩。

如何直接從包中導入類?

您必須將proj1的路徑添加到sys.path中。 簽出sys.path.insert。 例如:

sys.path.insert(0, myPath)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM