2016-01-27 11 views
6

प्रस्ताव में: "सूडो पाइप अनइंस्टॉल" ऑपरेशन की अनुमति नहीं है (/ tmp) नहीं है: मेरा ओएस एक्स पायथन इंस्टॉलेशन गड़बड़ है। होमब्री के बारे में पता लगाने से पहले मैंने सिस्टम पायथन मार्ग का उपयोग शुरू किया। और इसलिए मैं हमेशा से sudo pip install का उपयोग कर रहा हूं। अब मैं सबकुछ साफ करने की कोशिश कर रहा हूं और फिर होमब्री के पायथन के खिलाफ पीपी पैकेज स्थापित/लिंक कर रहा हूं।ओएस एक्स एल कैपिटन

1) कई SO उत्तरों में, लोग सुझाव देते हैं: pip freeze | xargs sudo pip uninstall -y यह मेरे लिए काम नहीं करता है। मुझे बहुत लंबा ट्रेसबैक मिलता है। ये इसके बारे में सबसे अधिक प्रतिनिधि हिस्सा हैं:

~ $ pip freeze | xargs sudo pip uninstall -y 
You are using pip version 7.1.2, however version 8.0.2 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 
The directory '/Users/smaniato/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 
Uninstalling altgraph-0.10.2: 
Exception: 
Traceback (most recent call last): 
    File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 211, in main 
[...] 
Error: [('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph/__init__.py', '/tmp/pip-p8yIlU-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph/__init__.py', "[Errno 1] Operation not permitted: '/tmp/pip-p8yIlU-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph/__init__.py'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph/__init__.pyc', '/tmp/pip-p8yIlU-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph/__init__.pyc', 
[...] 
"[Errno 1] Operation not permitted: '/tmp/pip-p8yIlU-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph'")] 

जहां altgraphpip list में सिर्फ पहली पिप पैकेज (रखें कि मन में) है।

2) मैंने चेतावनी के अनुसार pip freeze | xargs sudo -H pip uninstall -y की कोशिश की, लेकिन यह चेतावनी को हटा दें। त्रुटि संदेश जारी रहे।

3) मैंने शिकायतें उठाए गए किसी भी निर्देशिका को हल करने की कोशिश की (उदाहरण के लिए, ~/Library/Caches/pip और उसके कुछ माता-पिता और बच्चे)। सबसे समस्याग्रस्त निर्देशिका, /tmp किसी कारण के लिए, मैं नहीं कर सकते chown:

~ $ sudo chown -R ${USER} /tmp 
chown: /tmp: Operation not permitted 

4) अंत में, मैं मैन्युअल रूप से करने की कोशिश की से एक पैकेज की स्थापना रद्द करने के लिए आगे सूची नीचे और देखा, मैं आसानी से उदाहरण के लिए sudo pip uninstall virtualenv कर सकता है। altgraph मैन्युअल रूप से अनइंस्टॉल करने का प्रयास उपर्युक्त त्रुटि में परिणाम।

कोई विचार कैसे आगे बढ़ना है? याद रखें, मुझे किसी एक पैकेज की परवाह नहीं है; मैं बस पिप को नूक करना चाहता हूं और होमब्रू के पायथन का उपयोग करके स्क्रैच से शुरू करना चाहता हूं। धन्यवाद!

अपडेट:

  1. मैन्युअल इस सूची में नीचे जा रहे हैं, एक ही बात bdist-mpkg-0.5.0
  2. कुछ और के साथ होता है: matplotlib, zope.interface, xattr, six, scipy, pytz

उत्तर

9

मुझे पूरा यकीन है कि brew reinstall python किसी भी तरह से मेरे द्वारा किए गए मुद्दों का एक समूह तय कर दिया गया है। मैं तो था भी परमाणु (अर्थात, rm -rf) में /usr/local/lib/python2.7/site-packages

मुद्दा कुछ चीजें और मेरे विशिष्ट उपयोग के (OS X पर आरओएस स्थापना) से संबंधित उत्तर: https://github.com/mikepurvis/ros-install-osx/issues/11

+1

आरओएस स्थापित करते समय मुझे एक ही समस्या थी। इससे मदद मिली, धन्यवाद! –

+0

आपको 'साइट-पैकेज' से क्या निकालना पड़ा? –

+0

मुझे लेनर याद नहीं है, क्षमा करें। मुझे लगता है कि मैंने उन चीजों को हटा दिया जो वहां 'पीआईपी' द्वारा नहीं रखे गए थे –

1

होमब्रू और न ही मैकपॉर्ट्स, न ही बिल्टिन पायथन का उपयोग न करें। ये घोंसला वाले समाधान हैं जो अंततः असफल हो जाएंगे, एक तरफ या दूसरा (पीईपी 20: फ्लैट नेस्टेड से बेहतर है)। कम से कम, आपको किसी भी पीपीपीआई अपडेट को नोटिस करने के लिए पैकेज प्रबंधन प्रणाली का इंतजार करना होगा, या pip का उपयोग करने के लिए वापस आना होगा जैसा कि आपने बिना किसी पैकेज प्रबंधक के किया होगा। केवल गैर-पायथन आइटम स्थापित करने के लिए मैकपॉर्ट्स का उपयोग करें जिन्हें संकलित करने और अनुकूलित करने की आवश्यकता है (उदा।, एटीएलएएस)।

सबसे आसान बात यह है कि python.org (या तो बाइनरी वितरण से, या स्रोत से निर्मित) से स्टैंड-अलोन पायथन स्थापित करना है। नहीं sudo, अपने उपयोगकर्ता के तहत स्थापित करें। तब:

pip install -U pip setuptools virtualenvwrapper 

स्रोत उनके डॉक्स प्रति अपने ~/.bashrc, और makevirtualenv foo से अपने आवरण। अन्य सभी काम केवल आभासी वातावरण में किया जाएगा। यदि आप पायथन 3 का उपयोग करते हैं, तो virtualenv दुभाषिया का हिस्सा है, इसलिए आपको virtualenvwrapper और उससे संबंधित छोटे नृत्य की आवश्यकता नहीं है।

+0

धन्यवाद Γιάννη। मैं थोड़ी देर के लिए 'virtualenv' का उपयोग शुरू करने का अर्थ रहा हूं; यह मुद्दा मुझे आवश्यक धक्का हो सकता है। इस गड़बड़ी में डूबने के लिए मेरी प्रेरणा मुख्य रूप से ओएस एक्स (https://github.com/mikepurvis/ros-install-osx) पर आरओएस स्थापित करने के प्रयास से आई थी। संभवतः 'virtualenv' का उपयोग करके ऐसा करने का एक तरीका है, लेकिन मैं एक टीई के निर्देशों का पालन कर रहा था। –

+1

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

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