2015-06-10 13 views
5

बिना अजगर/बोतल तैनाती मैं आम तौर पर एक काफी सरल कपड़े स्क्रिप्ट है कि लक्ष्य मशीन पर स्रोत डाल के साथ मेरी बोतल अनुप्रयोगों से नियोजित किए गए किसी भी निर्भरता स्थापित करने के लिए प्रयोग किया जाता है पिप, फिर ऊपर uwsgi सभी आवश्यक सेटिंग और बंद के साथ निकाल दिया मैं गया।पिप

हालांकि, मैं एक नया मुद्दा यह है कि हमारे वातावरण में कुछ नए सुरक्षा सेटिंग्स हमें पहुँच से अवरोधित कर दिया बाहर नेटवर्क इसलिए हमारे निर्भरता स्थापित करने के लिए विफल रहता है पिप उपयोग करने की कोशिश की है। मैंने पैकेज बनाने के लिए python setup.py sdist का उपयोग करने में देखा, यह सोचने के लिए कि यह डेवलपर मशीन पर सबकुछ नीचे रखेगा, फिर मैं तैनाती मशीन पर .tar.gz अपलोड कर सकता हूं और इसे इंस्टॉल कर सकता हूं लेकिन यह निर्भरता प्राप्त करने के लिए अभी भी पीआईपी से संपर्क करने का प्रयास कर रहा है।

वहाँ एक रास्ता निर्भरता और सब है कि मैं अपने सर्वर से तैनात करने के लिए इस्तेमाल कर सकते हैं के साथ एक पूरी तरह से संकलित पैकेज प्राप्त करने के लिए है? क्या मैं कुछ sdist सेटिंग का उपयोग कर सकता हूं?

उत्तर

2

अपने निर्माण मशीन मान लिया जाये कि लक्ष्य के साथ द्विआधारी-संगत है, या आप किसी भी संकलित एक्सटेंशन की आवश्यकता नहीं है, आप pip wheel उपयोग कर सकते हैं आप परियोजना और पहियों को अपने सभी निर्भरता संकलित करने के लिए सर्वर से उन फ़ाइलों की प्रतिलिपि, और pip install केवल पहिया निर्देशिका से।

# on build machine 
cd myproject 
pip wheel --wheel-dir wheelbase . 
scp -r wheelbase [email protected] 

# on target machine 
pip install --no-index --find-links=wheelbase myproject 

साथ ही आप --find-लिंक निर्देशिका में अजीब sdist कॉपी करने के लिए, जिसमें मामले पिप sdist से स्थापित हो जाएगा, तो आप सर्वर पर पुन: संयोजित करने के लिए है, तो सक्षम होना चाहिए।

+0

यह आशाजनक लग रहा है। मैंने आपके रास्ते की कोशिश की और ऐसा लगता है कि यह आवश्यक सभी संकुल स्थापित नहीं किया था। मैंने require.txt फ़ाइल से पहिया बनाने की कोशिश की जो अब मेरे सभी पैकेज प्राप्त करने लगती थी, लेकिन जब मैंने उन्हें बॉक्स पर स्थापित करने का प्रयास किया तो मुझे मार्कअपसेफ-0.23-सीपी 27-कोई भी linux_i686.whl इस प्लेटफॉर्म पर समर्थित व्हील नहीं है । मैंने पहिया निर्देशिका में देखा और इसमें वह पहिया है। मेरी देव मशीन उबंटू है और मेरा लक्ष्य सेंटोस है। कोई सुझाव? – ThrowsException

+0

MarkupSafe sdist डाउनलोड करें और इसे व्हील निर्देशिका में भी डालें। लक्ष्य मशीन बनाने के लिए पिप पर्याप्त स्मार्ट होना चाहिए। या बस एक CentOS वीएम पर निर्माण। https://pypi.python.org/pypi/MarkupSafe – joeforker

+0

धन्यवाद। मैं बाद में कर रहा हूँ। मौजूदा सेंटोस मशीन पर बनाया गया और पहियादार की प्रतिलिपि बनाई गई। ऐसा लगता है कि मुझे अब सबकुछ चाहिए। – ThrowsException

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