मैं ~/.local
में स्थानीय रूप से पैकेज स्थापित करने के लिए पीआईपी का उपयोग करने की कोशिश कर रहा हूं। समस्या यह है कि पैकेज (पुराने संस्करण में) पहले से ही सिस्टम पर वैश्विक स्तर पर उपलब्ध है। भले ही वैश्विक पायथन पैकेज निर्देशिका मेरे PYTHONPATH
में है, फिर भी पीआईपी स्थापित करने से इंकार कर रही है, यह सोचकर कि पैकेज की आवश्यकता पूरी हो गई है। यह समस्या यहाँ वर्णित करने के लिए समान है, सिवाय मैं sudo
उपयोग नहीं कर रहा तो समाधान लागू नहीं होता,:,संतुष्ट वैश्विक आवश्यकताओं के बावजूद स्थानीय स्तर पर पैकेज स्थापित करने के लिए पीआईपी का उपयोग करके
Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/local/lib/python2.7/dist-packages/numpy-1.6.2-py2.7-linux-x86_64.egg
हालांकि: pip - Requirement already satisfied?
अगर मैं कार्य करें:
pip install --user numpy
इसे कहते हैं /usr/local/lib/...
मेरे PYTHONPATH
में नहीं है। PYTHONPATH
में एकमात्र चीज ~/.local
है।
अगर मैं करने की कोशिश:
pip install --user --upgrade numpy
यह numpy डाउनलोड करता है और यह संकलित, और फिर सोचता है कि मैं --उपयोगकर्ता ध्वज के बावजूद स्थापित एक वैश्विक कर रहा हूँ और मैं:
Installing collected packages: numpy
Found existing installation: numpy 1.6.2
Uninstalling numpy:
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/basecommand.py", line 107, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/commands/install.py", line 261, in run
requirement_set.install(install_options, global_options)
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/req.py", line 1162, in install
requirement.uninstall(auto_confirm=True)
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/req.py", line 495, in uninstall
paths_to_remove.remove(auto_confirm)
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/req.py", line 1492, in remove
renames(path, new_path)
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/util.py", line 273, in renames
shutil.move(old, new)
File "/usr/lib/python2.7/shutil.py", line 300, in move
os.unlink(src)
OSError: [Errno 13] Permission denied: '/usr/bin/f2py'
यह कैसे तय किया जा सकता है? मुझे यकीन नहीं है कि यह ऐसा कुछ करने का प्रयास क्यों करता है जिसके लिए --user
ध्वज पारित होने पर वैश्विक अनुमतियों की आवश्यकता होती है।
क्या ~/.local
का उपयोग करने के लिए पीआईपी बताने का कोई तरीका है और सिस्टम पर बाकी सब कुछ अनदेखा करें? (मैं virtualenv का उपयोग नहीं करना चाहते हैं यह यहाँ अनावश्यक है, मैं, कई वातावरण नहीं चाहता सिर्फ एक!।)
आप 'virtualenv' का उपयोग क्यों नहीं करेंगे, क्या यह सही कारण नहीं बनाया गया है? – dm03514
पापी के साथ अच्छी तरह से खेल नहीं रहा है। यह '/ usr/bin /' पर 'f2py' स्थापित करने का प्रयास कर रहा है। शायद क्योंकि यह पाइथन के 'साइट-पैकेज' के बाहर है।सबसे अधिक संभावना है कि वहां अन्य फाइलें होंगी जिन्हें इसके बाहर स्थापित किया जाना चाहिए, और पीपी को यह पता नहीं लग रहा है कि इससे कैसे निपटना है। निश्चित नहीं है कि वर्चुअलएन्व यहां मदद करेगा। – tiago
@tiago * Numpy पीआईपी के साथ अच्छी तरह से खेल नहीं रहा है। यह fuspy को /usr/bin/.* पर स्थापित करने का प्रयास कर रहा है, नहीं, ऐसा नहीं है। यह ** प्रणाली को अनइंस्टॉल करने की कोशिश कर रहा है ** सिस्टम numpy जो अनुमतियों की कमी के कारण विफल रहता है। मेरा जवाब देखें –