2017-02-13 9 views
0

이것은 스핑크스를 처음 사용하면서 지금까지 많은 것을 알아 냈지만 하나의 특별한 점이 있습니다 경고 나는 그것이 무엇을 말하고 있는지를 알 수 없다는 것을 알게되었습니다.스핑크스의 이름 지정 스페셜 멤버

http://www.sphinx-doc.org/en/stable/ext/autodoc.html, 파이썬 "특별한"회원에 대한 설명서에 따르면 (즉, 특별한 같은 이름들) 특수 멤버 플래그 옵션이 주어진다면 포함 될 것이다 :

.. autoclass:: my.Class 
    :members: 
    :private-members: 
    :special-members: 

기재 할 수 "개인"과 "특별"회원 모두. 버전 1.1의 새로운 기능. 버전 1.2에서 변경되었습니다 : 옵션이 이제 인수, 즉 문서의 특수 멤버를 취할 수 있습니다.

내 한 .rst 파일이 그래서 내 문서에서 클래스의 __init__하지만 다른 특별한 멤버를하려고 :

**myClass Class** 
================== 

.. automodule:: python_module.submodule.series.myClass 
    :members: 

    .. autoclass:: myClass 
     :members: 
     :special-members: __init__ 
한 .rst

내가 오류를 얻고있다 ": 7 : 경고 : 특별 회원 : 속성이없는 나는 그것의 이름을 통과 한 것처럼 개체 python_module.submodule.series.myClass.myClass에서 초기화

그래서이 일을 스핑크스 버전 1.5.1를 안 사용하고 있습니다 나는 문서화하고 싶은 특별한 회원? 그 실수는 내가 잃어버린 것처럼 보인다. 내 .py 파일에서. docstrings을 가져오고 있습니다. 그럴까요? 내가 원한다면 그 방법에 존재할 특별한 것을 언급 할 수는 없다.

+0

'python_module.submodule.series.myClass'는 모듈이 아니며 클래스입니다. 나는 당신이'.. automodule :: python_module.submodule.series'를 원한다고 생각한다. – mzjn

+0

사과드립니다. myClass는 실제로 모듈입니다. myClass 모듈 안에 myClass.py 파일이 있습니다. 나는 그 일들을 더 잘 지명해야했다. 모듈의 트리 구조는 다음과 같습니다. python_module-> submodule-> series-> myClass-> myClass.py myClass.py에는 해당 클래스에서 사용하는 클래스 정의 및 메서드가 들어 있습니다. 이것은 __init__이 스핑크스와 관련된 문제를 일으키는 곳입니다. – boymeetscode

+0

또한 아마도 관련이없는 문제일까요? 하지만 제 클래스 docstring은 두 번 반복됩니다. – boymeetscode

답변

0

나는 docstring 클래스가 두 번 반복되는 것은 ..automodule 섹션 때문에 발견했다. 나는 그것을 꺼냈다. 그리고 그것은 전체 클래스 정의를 여전히 포함한다. 그래서 나를 행복하게 만든다.

__init__ 정의를 : special-members : 옵션을 사용하여 문서화 할 수 없지만 클래스가 충분하게 문서화되어 있기 때문에 무시해도되는 문제입니다. 그래서 나는이 경고가 나에게 그루터기를 허락 할 것이라고 생각한다. 지금은.

+0

': special-members :'와 함께 왜 작동하지 않는지 설명 할 수 없습니다. 여기에 설명 된 다른 옵션을 사용해보십시오. http://stackoverflow.com/a/5599712/407651 – mzjn