2009-04-21 16 views
5

मैं एक साझा मेजबान पर Django का उपयोग करना चाहता हूं जो CentOS का अज्ञात संस्करण चला रहा है। मेरी मुख्य समस्या डेटाबेस के साथ इंटरफेस करने की कोशिश कर रही है। सर्वर में MySQL स्थापित है, लेकिन MySQL-Python नहीं है। मैंने शुरुआत में "यम स्थापित MySQL-Python" चलाने का सुझाव देने का विचार किया, लेकिन स्पष्ट रूप से सेंटोस के लिए डिफ़ॉल्ट भंडार में MySQL-Python का संस्करण 1.2.1 है, और Django को 1.2.1p2 की आवश्यकता है।सेंटोस पर Django

यह आवश्यकता पहली बार Django 0.96 के साथ शुरू हुई। release notes में, MySQL-python के पुराने संस्करणों के साथ संगतता के लिए mysql_old नामक एक बहिष्कृत इंटरफ़ेस जोड़ा गया था। पिछले जुलाई में यह बहिष्कृत इंटरफेस अनजाने में dropped था। इस परिवर्तन के announcement में यह पुराना नहीं था कि यह पुराना था।

क्या Django 1.1 में इस पुराने इंटरफ़ेस को पुनर्जीवित करना संभव है? तब से डेटाबेस इंटरफेस में कोई बदलाव आया है? Django को संस्करण जांच छोड़ने और 1.2.1 का उपयोग करने के लिए मजबूर करने में क्या खतरा होगा? क्या किसी अन्य मशीन पर बाद के संस्करण को संकलित करना संभव है और फ़ाइलों को मेजबान पर कॉपी करना संभव है? ऐसा करने के लिए मुझे क्या जानने की आवश्यकता होगी?

मैंने SQLite में भी देखा, लेकिन पाइथन 2.4.3 के साथ सेंटोस जहाजों, और इसलिए pysqlite2 एक्सटेंशन की आवश्यकता होगी, जो (afaict) भंडार में मौजूद नहीं है।

सबकुछ बस स्रोत से स्थापित करके हल किया जा सकता है, लेकिन यह बदसूरत है और मुझे कंपनी को रिपोजिटरी से कुछ इंस्टॉल करने के बजाय ऐसा करने के लिए विश्वास करने का बहुत छोटा मौका है। मुझे एहसास है कि ऐसा लगता है कि मुझे सिर्फ एक अलग मेजबान मिलना चाहिए, लेकिन आपको मेरा विश्वास करना होगा कि मेरे पास यह काम करने की कोशिश करने के मेरे कारण हैं।

टिप्पणी: मैं CentOS या का उपयोग करते हुए यम कोई अनुभव नहीं है, तो सब कुछ मैं उनके बारे में कहा है एक सूचित अनुमान है। कृपया मुझे बताएं कि मुझे बस इतना करना है कि इन पैकेजों के अद्यतन संस्करण प्राप्त करने के लिए कुछ सेटिंग्स निर्दिष्ट करें या रिपॉजिटरीज बदलें। धन्यवाद।

+0

तरह mysql-python का नवीनतम संस्करण स्थापित कर सकते हैं मैं यम मुझे डर लग रहा चलाने के लिए अनुमति नहीं है, और मैं डॉन पता नहीं है कि जीसीसी स्थापित है या नहीं। क्या आप किसी अन्य मशीन पर MySQL-Python को संकलित करने के तरीके के बारे में जानते हैं और मेजबान पर पायथन के sys.path में इसे किसी स्थान पर कॉपी करते हैं? –

+0

आप यम को चलाने के लिए पर्याप्त अनुमतियाँ हैं, तो आप इसे डाउनलोड करने और 'अजगर setup.py स्थापित' का उपयोग कर (यदि आवश्यक हो mysql पुस्तकालयों के स्थानों के लिए विन्यस्त करने) के द्वारा आप की तरह किसी भी मनमाने ढंग से mysql-अजगर संस्करण संकलित करने के लिए सक्षम होना चाहिए। यदि जीसीसी स्थापित नहीं है, तो इसे स्थापित करने के लिए yum का उपयोग करें। अजगर (आदि) के गलत संस्करण स्थापित है, तो पूरे ढेर को बदलने के लिए यम या जीसीसी का उपयोग के रूप में आवश्यक :-) आप CentOS का कौन सा संस्करण पता लगाने के लिए 'बिल्ली/etc/मुद्दा' की कोशिश करो। –

+0

यह देखने के लिए जीसीसी टाइप करने का प्रयास करें कि यह –

उत्तर

0

यदि आप सेंटोस रेपो से हालिया पैकेज नहीं प्राप्त कर सकते हैं, तो आप वास्तव में मैन्युअल रूप से माइस्क्ल-पायथन एडाप्टर को बिना किसी संकलित किए स्थापित कर सकते हैं। बस mysql-python tarball (स्रोतforge साइट से) डाउनलोड करें। टैर बॉल में सभी प्रकार की सेटअप स्क्रिप्ट्स, रीडेमे इत्यादि हैं। आप या तो ez_setup फ़ाइल, सेटअप फ़ाइल चला सकते हैं, या बस MySQLdb निर्देशिका को अपने पायथनपैथ में कहीं भी कॉपी कर सकते हैं। मुझे लगता है कि सेंटोस, /usr/lib/python2.4/site-packages/ काम करता है।

शुभकामनाएं!

+0

मैंने पहले कोशिश की, लेकिन MySQLdb को निम्न-स्तरीय ड्राइवर की आवश्यकता है जिसे संकलित किया जाना है। हालांकि, इसे एक वीएम में संकलित करना और इसे अपने मेजबान पर कॉपी करना ऐसा लगता है कि यह चाल चल रही है। –

0

आप centos 'पैकेज python-setuptools और फिर इसे में easy-install का उपयोग कर स्थापित कर सकते हैं तो आप इस

easy_install mysql-python 
+1

यह केवल तभी काम करता है यदि आपके पास पूर्व-आवश्यकताएं हैं (पाइथन और mysql के लिए शीर्षलेख बनाएं) पहले से इंस्टॉल हैं। –

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