2014-10-20 9 views
8

अगर मैं आदेशकैसे आप --target विकल्प के साथ स्थापित पिप के लिए बिन निर्देशिका निर्दिष्ट करते सक्षम

sudo pip install gunicorn 

अब एक फ़ाइल

/usr/local/bin/gunicorn 

और एक फ़ोल्डर है चलाने के लिए एक उदाहरण देने के लिए,

/usr/local/lib/python2.7/site-packages/gunicorn 

और मैं खोल से "बंदूक" चला सकता हूं।

हालांकि, अगर मैं आदेश

sudo pip install gunicorn --target=~/tmp_directory 

चलाने वहाँ

~/tmp_directory/gunicorn 

हालांकि पर एक फ़ोल्डर है, वहाँ कोई "बिन/gunicorn" कहीं भी है और मैं "gunicorn" खोल से नहीं चला सकते हैं । पीआईपी दस्तावेज के माध्यम से देखकर मुझे इस विशेष मामले के लिए कुछ भी नहीं मिला। ऐसा करने का मेरा सही कारण है Heroku पर कस्टम बिल्डपैक को आजमाने और सेटअप करना।

+0

यह लगता है मुद्दा हो मुझे वास्तव में पसंद है - लक्ष्य विकल्प। मैंने गिथब पर मुद्दा बनाया, उम्मीद है कि इसे कुछ प्यार मिलेगा https://github.com/pypa/pip/issues/3934 – chhantyal

+0

संपादित करें: मेरा उत्तर जांचें, दूसरा। आप स्क्रिप्ट निर्देशिका निर्दिष्ट कर सकते हैं। – chhantyal

उत्तर

4

आप sudo ln -s ~/tmp_directory/gunicorn /usr/bin/gunicorn कर सकते हैं।

यदि मैं आपकी आवश्यकताओं को सही ढंग से समझता हूं, तो आपको अलग-अलग पायथन वातावरण बनाने के लिए virtualenv का प्रयास करने का सुझाव दिया जाता है। आप अपने प्रत्येक प्रोजेक्ट के लिए एक ही सर्वर पर पाइथन पैकेज के विभिन्न संस्करण स्थापित कर सकते हैं। पायथन विकास के लिए अत्यधिक अनुशंसित। मैं virtualenvwrapper उपयोग कर रहा हूँ, एक आवरण यह थोड़ा आसान

+0

मुझे लगता है कि मैंने अपनी समस्या का अधिक संदर्भ नहीं दिया ... इस मामले में '/ usr /' निर्देशिका केवल पढ़ी जाती है इसलिए मैं इसे लिख नहीं पाया, इसलिए 'बिन/गनिकॉर्न' का पथ नहीं है कहीं भी मौजूद है ... ऐसा लगता है कि यह बिल्कुल नहीं बनाया गया है। मुझे '- लक्ष्य' का उपयोग करने के बजाय '--root = ~' निर्दिष्ट करके समस्या के आसपास मिल गया –

5

मैं सिर्फ पाया यह वास्तव में 'पिप' बताने के लिए संभव है जहां स्क्रिप्ट डाल करने के लिए, डेटा आदि

आप --install-option का उपयोग विकल्प पारित करने के लिए कर सकते हैं का उपयोग करने के बनाने के लिए सेटअपtools करने के लिए। तो अगर आप निर्दिष्ट करना चाहते हैं जहां स्क्रिप्ट डाल करने के लिए, आप:

pip install gunicorn --install-option="--install-scripts=$PWD/bin" -t python_modules/ 

अब आप वर्तमान निर्देशिका और पैकेज लक्ष्य dir python_modules में स्थापित में bin/ अंदर gunicorn आदेश दिया है।

bin/gunicorn 
0

इस समस्या के बारे में एक मुद्दा GitHub पर बनाया गया है: https://github.com/pypa/pip/issues/3934

इसका कारण यह है --install-option="--install-scripts=$PWD/bin" झंडा, कि आवश्यक है, .whl फाइलों के साथ नहीं किया जा सकता है:

.../lib/python2.7/site-packages/pip/commands/install.py:194: 
UserWarning: Disabling all use of wheels due to the use of --build-options/--global-options/--install-options. 
cmdoptions.check_install_build_global(options) 
संबंधित मुद्दे