2012-02-02 9 views
8

हमारे पास कुछ इन-हाउस लाइब्रेरीज़ हैं जिन्हें हमने विभाजित कर दिया है (कई कारणों से, ज्यादातर प्रशासनिक या बाद में उन्हें आसानी से स्रोत खोलने की संभावना है)। यदि वे मायने रखते हैं, तो वे निजी गिथब भंडार में रहते हैं।मैं पाइथन हेरोकू परियोजनाओं के लिए घर की आवश्यकताओं को कैसे स्थापित करूं?

मैं इसे आज़माने के लिए हेरोोक में एक ऐप तैनात करना चाहता हूं। यह उन पुस्तकालयों में से एक पर निर्भर करता है।

मुझे आवश्यकताओं .xt में मेरी निर्भरताओं को निर्दिष्ट करना है। पीपीपीआई-इंस्टॉल करने योग्य सामान के लिए यह आसान है, लेकिन इन इन-हाउस निर्भरताओं के लिए मैं क्या करूँ?

मैं या तो अपना निजी पीईपीआई दर्पण चला सकता हूं जिसमें यह सामान है, या मैं संपादन योग्य पैकेज का उपयोग कर सकता हूं (भले ही प्रलेखन कहता है कि उन्हें उत्पादन में उपयोग नहीं किया जाना चाहिए)।

ऐसा करने का उचित तरीका क्या है?

उत्तर

7

गिटहब गिट रेपो पर HTTP मूल प्रमाणीकरण की अनुमति देता है।

तो, आप इस तरह की एक पंक्ति जोड़ सकते हैं:

-e git+https://username:[email protected]/kennethreitz/[email protected]#egg=requests 

और सब कुछ ठीक से काम करेंगे :)

+0

बहुत बढ़िया! हेरोोकू क्यों कहता है कि आपके पास अपनी आवश्यकताओं की फाइल में नहीं होना चाहिए? जब आप मैन्युअल रूप से टैग/रिलीज निर्दिष्ट करते हैं तो मुझे समस्या दिखाई नहीं देती है (या आपके पास एक विकास प्रक्रिया है जिसका अर्थ है कि मास्टर हमेशा जाने के लिए अच्छा होता है)। – lvh

+0

क्योंकि संपादन योग्य आवश्यकताएं कभी-कभी तोड़ सकती हैं। Heroku- विशिष्ट नहीं :) –

+3

लेकिन मैं अपना पासवर्ड किए बिना ऐसा कैसे करूं? – wkschwartz

1

requirements.txt में आप निम्न का उल्लेख कर सकते हैं।

git+git://github.com/kracekumar/blaze.git

इस बीच आप पुस्तकालय क्लोन और आभासी वातावरण बनाने और env अंदर स्थापित कर सकते हैं। Heroku dev center में वर्चुअल एनवी सेट अप सहित आलेख हैं।

+0

हालांकि यह एक निजी रेपो के लिए कैसे मदद करता है? – lvh

+0

यदि यह काम नहीं करता है, तो आप 'scp' चलाने के बाद स्रोत से इंस्टॉल कर सकते हैं। – Kracekumar

0

आप अपनी आवश्यकताओं.txt फ़ाइल में "पीआईएल" के बजाय "-e git + ssh: //[email protected]/PIL#egg=PIL" लिख सकते हैं, और इसे वहां से लाएगा ।

हालांकि, यह आपको खींचने के दौरान किसी भी तरह से एसएसओ निजी कुंजी निर्दिष्ट करने की आवश्यकता होगी।

0

सिर्फ इस के लिए एक buildpack है: https://elements.heroku.com/buildpacks/debitoor/ssh-private-key-buildpack

यह करें:

$ heroku buildpacks:set --index 1 https://github.com/debitoor/ssh-private-key-buildpack.git 
$ heroku buildpacks:add heroku/python 
$ heroku config:set SSH_KEY="$(cat path/to/your/keys/id_rsa | base64)" 

अब जिथब को दी गई एसएसएच कुंजी जोड़ें और आप उन "गिट + गिट का उपयोग कर सकते हैं @ github.com "हेरोोकू को तैनात करते समय निर्भरताएं।

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