2014-11-03 13 views
7

मेरे पास दो फाइलें हैं, foo.py और bar.pyस्फिंक्स: "चेतावनी: पीई: कक्षा संदर्भ लक्ष्य नहीं मिला" वर्ग परिवर्तनीय

foo.py शामिल हैं:

import bar 


class B(): 
    a = bar.A 

bar.py शामिल हैं:

class A(): 
    pass 

मैं के माध्यम से docs/index.rst में इन के लिए प्रलेखन पैदा कर रहा हूँ:

.. automodule:: bar 
    :members: 
    :undoc-members: 

.. automodule:: foo 
    :members: 
    :undoc-members: 

अब, जब मैं निट के साथ build html चलाने -पीकी झंडा (-n), मैं एक चेतावनी के साथ, निम्नलिखित मिलता है, WARNING: py:class reference target not found: A:

(env)bash-3.2$ make html 
sphinx-build -b html -d _build/doctrees -n . _build/html 
Running Sphinx v1.2.3 
loading pickled environment... done 
building [html]: targets for 1 source files that are out of date 
updating environment: 0 added, 1 changed, 0 removed 
reading sources... [100%] index 
looking for now-outdated files... none found 
pickling environment... done 
checking consistency... done 
preparing documents... done 
writing output... [100%] index 
/Users/caesarbautista/Desktop/test_docs/docs/index.rst:12: WARNING: py:class reference target not found: A 
writing additional files... genindex py-modindex search 
copying static files... done 
copying extra files... done 
dumping search index... done 
dumping object inventory... done 
build succeeded, 1 warning. 

Build finished. The HTML pages are in _build/html. 

मैं इस चेतावनी को कैसे ठीक कर सकते हैं?

अब तक मैंने Google और दस्तावेज़ को कोई भाग्य नहीं खोजने का प्रयास किया है। A आयात किए जाने के साथ इसका कोई लेना-देना नहीं है। मैंने सफलता के बिना from bar import A की कोशिश की है। त्रुटि संदेश बहुत अपारदर्शी है।

स्थापित किए गए परीक्षण प्रोजेक्ट की एक प्रति here मिल सकती है।

+0

के साथ प्रतिस्थापित करता हूं तो चेतावनी बस गायब हो जाती है दिलचस्प है, जब मैंने आपके स्रोत कोड से कोशिश की तो मुझे यह चेतावनी नहीं मिली। आपने स्फिंक्स के किस संस्करण का उपयोग किया था? मैंने v1.3.1 का उपयोग किया। –

+1

मुझे स्पिक्स v1.3.1 '' py: obj संदर्भ लक्ष्य नहीं मिला (str | integer) '' – Natim

+3

का उपयोग करते समय मुझे एक ही समस्या मिली है क्या यह समस्या हल हो गई थी? यदि हां, तो कैसे? – F0RR

उत्तर

1

अपने कोड में आप

class B(): 
    a = bar.A 

आप एक वर्ग उर्फ ​​के बजाय एक इन्स्टेन्शियशन का उपयोग करना चाहिए था। जब मैं a = bar.A

संबंधित मुद्दे