에서 가져와야합니다. 설치 스크립트로 첫 번째 Python 패키지를 만들었고이 동작이 정상적인 지 궁금합니다. 액세스하고자하는 클래스가 포함 된 하나의 모듈로 구성됩니다. 프로젝트 구조는 다음과 같습니다.setup.py 후에 모듈을 명시 적으로 패키지
.
|
+ -- __init__.py
+ -- setup.py
my_package
|
+ __init__.py
+ my_class.py
__init__.py
은 항상 비어 있습니다. 대신
>>> import my_package
>>> my_class.MyClass()
A new object is born!
나는이 할 경우, 내가 할 만 할 수있는 :
>>> from my_package import my_class
>>> my_class.MyClass()
A new object is born!
내 패키지 내 클래스 파일을있는 내가 그것을 설치하면
이 내가 기대하는 행동입니다 그것이 맞다면 같은 이름을지었습니다. 이것은 잘못된 패키지 디자인의 경우입니까? 나는 from my_class import *
을 __init__.py
에 넣음으로써이 문제를 해결할 수 있다는 것을 발견했다.하지만 가져 오기 네임 스페이스에 머물러 있어도 그러한 명령문을 사용하는 것은 싫다.
'my_package'를 가져 오면, 왜'my_class'가 마술처럼 보이기를 기대합니까? – lolopop
네 말이 맞아, 나는 수입이 더 명백해야한다는 것을 이해한다. 'my_class'가 불가사의하게 나타나게하기위한 가장 좋은 방법이 무엇인지 모르겠습니다.) –
이것은 실제로 패키징 관련 질문이 아니며 단지 Python 가져 오기에 익숙한 문제입니다. –