2012-11-14 9 views
6

मैं दस्तावेज़ों को पढ़ने के साथ अपने स्फिंक्स दस्तावेज़ को लिंक करने का प्रयास कर रहा हूं। मैं प्रलेखन स्थानीय स्तर पर निर्माण कर सकते हैं, लेकिन जब मैं पढ़ लिया है करने के लिए प्रयास किए गए दस्तावेज़ों को स्वचालित रूप से प्रलेखन मैं निम्नलिखित त्रुटि मिलती है उत्पन्न:रीडहेडॉक्स पर मेरे कोड के लिए आयात त्रुटि

स्फिंक्स स्टैंडर्ड त्रुटि

Making output directory... 

Exception occurred: 
    File "/var/build/user_builds/mousedb/checkouts/latest/Docs/source/conf.py", line 25, in <module> 
    from mousedb import settings 
ImportError: No module named mousedb 
The full traceback has been saved in /tmp/sphinx-err-n_8fkR.log, if you want to report the issue to the developers. 
Please also report this if it was a user error, so that a better error message can be provided next time. 
Either send bugs to the mailing list at <http://groups.google.com/group/sphinx-dev/>, 
or report them in the tracker at <http://bitbucket.org/birkenfeld/sphinx/issues/>. Thanks! 

मेरे इस परियोजना का नाम mousedb है। मैं समझ नहीं पा रहा हूं कि मुझे ऑटो-बिल्ड में यह आयात त्रुटि क्यों मिलती है लेकिन स्थानीय रूप से नहीं।

अद्यतन

टिप्पणियां मैं लगता है कि यह मेरा सेटिंग आयात करने के लिए एक मुद्दा है के आधार पर एक भाई डॉक्स निर्देशिका में फाइल। एक पूर्ण आयात करने के बजाय (जैसा कि मैं कर रहा था) मुझे सेटिंग.py और conf.py

के स्थान पर आधारित एक सापेक्ष आयात करना चाहिए, मैं अपनी सेटिंग्स फ़ाइल को मेरे conf.py में आयात करना चाहता हूं

-mousedb 
--settings.py 
-Docs 
--source 
---conf.py 
--build 
+2

क्या आपने आरटीआई सेटिंग्स में 'वर्चुअलएनवी' चेकबॉक्स का उपयोग करने की कोशिश की है? setup.py install –

+0

का उपयोग कर वर्चुअलएन्व के अंदर अपनी प्रोजेक्ट इंस्टॉल करें, मैंने कोशिश की, वही त्रुटि। क्या यह संभव है कि मुझे एक पूर्ण पथ की बजाय मेरे sys.path.append में एक सापेक्ष पथ का उपयोग करने की आवश्यकता है (जैसा कि मेरी स्थानीय स्थापना के मामले में है) – Dave

+1

आपका स्थानीय पूर्ण पथ लगभग रीडहेडॉक्स सर्वर पर मौजूद नहीं होने की गारंटी है: -) –

उत्तर

7

आप मूल रूप से एक "मेरे कोड के लिए स्थानीय निरपेक्ष पथ" के बारे में बात की थी और अब अपने कोड के लिए संबंधित पथ की स्थापना के बारे: निर्देशिका संरचना निम्नलिखित। इसका शायद मतलब है कि आप setup.py फ़ाइल का उपयोग नहीं कर रहे हैं और वर्चुअलएन्व भी नहीं।

Docs/ और mousedb/ रूप में एक ही निर्देशिका में, जोड़ने के एक setup.py:

from setuptools import setup 

setup(name='mousedb', 
     version='0.1', 
     description="My sample package", 
     long_description="", 
     author='TODO', 
     author_email='[email protected]', 
     license='TODO', 
     packages=['mousedb'], 
     zip_safe=False, 
     install_requires=[ 
      'Django', 
      # 'Sphinx', 
      # ^^^ Not sure if this is needed on readthedocs.org 
      # 'something else?', 
      ], 
    ) 

करने/धक्का/जो कुछ भी इस फाइल के बाद, आप अपनी परियोजना के लिए अपने readthedocs सेटिंग्स के लिए जा सकते हैं। "वर्चुअलएनवी" सेटिंग को सक्षम करें। यह setup.py इंस्टॉल का उपयोग कर वर्चुअलएन्व के अंदर आपकी प्रोजेक्ट को रोक देगा "।

अंत परिणाम यह है कि रीडहेडॉक्स से संबंधित सब कुछ आपके प्रोजेक्ट में sys.path होगा।

आपकी समस्याओं का संभावित कारण यह है कि आप अपने स्थानीय सिस्टम पर अपनी "रूट" निर्देशिका के भीतर से स्फिंक्स चलाते हैं, जहां पाइथन जादुई रूप से आपकी वर्तमान निर्देशिका में mousedb/ पैकेज पाता है। लेकिन रीडहेडॉक्स स्पष्ट रूप से Docs/ निर्देशिका में से इसे चलाते हैं और इस प्रकार mousedb नहीं मिल सकते हैं।

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