पाइप स्थापित करें: कृपया उस निर्देशिका की अनुमतियों और स्वामी की जांच करें


155

पाइप और अजगर स्थापित करते समय मैं उस में भाग गया हूं:

निर्देशिका '/ उपयोगकर्ता / पार्थेनन / लाइब्रेरी / लॉग / पी' या इसकी मूल निर्देशिका वर्तमान उपयोगकर्ता के स्वामित्व में नहीं है और डिबग लॉग को अक्षम कर दिया गया है। कृपया उस निर्देशिका की अनुमति और स्वामी की जांच करें। यदि सूडो के साथ पाइप निष्पादित करते हैं, तो आप -H ध्वज चाहते हैं।

क्योंकि मुझे अब प्रयोग करके इंस्टॉल करना है sudo

मेरे पास पहले से ही स्थापित मैक पर अजगर और मुट्ठी भर पुस्तकालय थे, मैं योसेमाइट चला रहा हूं। मुझे हाल ही में एक साफ पोंछना था और फिर ओएस को पुनर्स्थापित करना था। अब मुझे यह संकेत मिल रहा है और मुझे यह पता लगाने में परेशानी हो रही है कि इसे कैसे बदला जाए

पहले मेरी कमांड लाइन Parthenon$अब थीPhilips-MBP:~ Parthenon$

मैं इस कंप्यूटर का एकमात्र स्वामी हूं और इस पर एकमात्र खाता है। यह एक समस्या लगती है जब अजगर 3.4 में अपग्रेड किया जाता है, कुछ भी सही जगह पर नहीं लगता है, वर्चुअन नहीं जा रहा है जहां मैं इसकी उम्मीद करता हूं, आदि।


क्या आपके खाते का नाम फिलिप है?
कोमरोमी

मैंने कल ही अपनी मशीन पर पाइप का उपयोग करते समय ऐसा देखा था, वर्चुनाव से आपका क्या मतलब है जहां आप इसकी अपेक्षा करते हैं?
पडराईक कनिंघम

मैंने अपनी मशीन पर पायथन 3.4 स्थापित किया, फिर भी जब मैंने अपने टर्मिनल में अजगर को चलाया तो यह पूरी स्थापित प्रक्रिया से गुजरने के बाद भी 2.7 चला। मैंने केवल virtualenv का उल्लेख किया है क्योंकि मैं आमतौर पर लाइब्रेरी / पाइथन / 3.4 में इसे खोजने की उम्मीद करूंगा लेकिन कोई लाइब्रेरी / पायथन / 3.4 नहीं है
फिल एंड्रयूज

आपको python3 या python3.4 जैसे कुछ का उपयोग करने की आवश्यकता है python3 दुभाषिया का उपयोग करने के लिए, जिस आइटम को फिर से खोला जा रहा है वह सिर्फ एक सेटिंग है, ubuntu का एक ही विकल्प है।
पादरी कनिंघम

@ IPadraicunningham हालांकि आप एक ही पाइप मुद्दा हो रही है? क्या आपने हाल ही में योसेमाइट में अपग्रेड किया था?
फिल

जवाबों:


127

मैंने अपने मैक पर यह बदलाव भी देखा जब मैं दौड़ने pipसे गया था sudo pip-HSudo में जोड़ने से संदेश मेरे लिए दूर चला जाता है। उदाहरण के लिए

sudo -H pip install foo

man sudoमुझे बताता है कि लक्ष्य उपयोगकर्ताओं (इस मामले में रूट) पर सेट करने का -Hकारण बनता sudoहै $HOME

तो ऐसा प्रतीत होता है कि पाइप दिख रहा है $HOME/Library/Logऔर sudoडिफ़ॉल्ट रूप से सेट नहीं $HOMEहो रहा है /root/। आश्चर्यजनक ~/Library/Logरूप से आपके पास रूट के बजाय उपयोगकर्ता के रूप में स्वामित्व नहीं है ।

मुझे संदेह है कि यह पाइप में कुछ हालिया बदलाव है। मैं इसे चलाने के sudo -Hलिए अब चारों ओर काम करेंगे।


18
कृपया ध्यान दें कि उपयोग sudo pipकरना पूरी तरह से गलत है। अधिक जानकारी के लिए कृपया यहां देखें stackoverflow.com/questions/33004708/…
मिको ओक्टामा

मुझे भी यही समस्या थी, लेकिन अब मुझे "-एच" झंडे का उपयोग करके स्थापित करना होगा।
मलाची बाजार

62

यहाँ समस्या क्या है कि आप किसी तरह से virtualenv में इनस्टॉल करें sudo। शायद दुर्घटना से। इसका अर्थ है कि rootउपयोगकर्ता पायथन पैकेज डेटा को फिर से लिखेगा, जो रूट के स्वामित्व वाली सभी फ़ाइल को बनाता है और आपका सामान्य उपयोगकर्ता अब उन फ़ाइलों को नहीं लिख सकता है। आमतौर पर virtualenv का उपयोग और स्वामित्व आपके सामान्य UNIX उपयोगकर्ता द्वारा ही किया जाना चाहिए।

आप अपने उपयोगकर्ता के लिए UNIX फ़ाइल अनुमतियाँ पैक बदलकर समस्या को ठीक कर सकते हैं। प्रयत्न:

$ sudo chown -R USERNAME /Users/USERNAME/Library/Logs/pip
$ sudo chown -R USERNAME /Users/USERNAME/Library/Caches/pip

फिर pipउन फ़ाइलों को फिर से लिखने में सक्षम होना चाहिए।

UNIX फाइल अनुमति प्रबंधन के बारे में अधिक जानकारी


पिप अभी भी त्रुटि के साथ लिखता है। मेरे पास भी एक समान चेतावनी है और मेरी अनुमति सही है, ओपी वास्तव में एक वर्चुअन का उपयोग नहीं कर रहा है, इसलिए यह समझ में आएगा कि वैश्विक स्तर पर पैकेज स्थापित करने के लिए सुडो की आवश्यकता होगी।
पादरिक कनिंघम

1
@PadraicCunningham: यदि पाइप एक त्रुटि देता है कि आपकी अनुमतियां गलत हैं, तो कृपया अपनी फ़ाइल अनुमतियां दिखाएं, ताकि हम यह पता लगा सकें कि उनके साथ क्या गलत है। अन्यथा मदद अंधेरे में एक गोली होगी।
मिको ओकटामा

इसके अलावा, मैं आपको एक और सवाल खोलने का सुझाव देता हूं क्योंकि आपका मुद्दा अलग हो सकता है कि मूल लेखक के पास क्या है
मिको ओकटामा

मेरे अपने उपयोगकर्ता नाम का उपयोग करते हुए, मुझे एक त्रुटि मिली: इनपुट: sudo chown -R USERNAME / उपयोगकर्ता / USERNAME / लाइब्रेरी / लॉग / पाइप आउटपुट: chown: / उपयोगकर्ता / USERNAME / लाइब्रेरी / लॉग / पाइप: ऐसी कोई फ़ाइल या निर्देशिका
user2755660

61

pip install --user <package name> (कोई sudo की जरूरत है) मेरे लिए एक बहुत ही इसी तरह की समस्या के लिए काम किया।


आपको स्थापित करने के लिए कम से कम एक आवश्यकता देनी होगी (देखें "पाइप सहायता स्थापित करें")
अमीर

0

बुनियादी जानकारी

  • सिस्टम: मैक ओएस 18.0.0
  • वर्तमान उपयोगकर्ता: yutou

चाबी

  1. पहिया समूह में चालू खाता जोड़ें
sudo dscl . -append /Groups/wheel wheel $(whoami)
  1. अजगर पैकेज मोड को 775 में संशोधित करें।
chmod -R 775 ${this_is_your_python_package_path}

पूरी बात

  • जब python3 को अच्छी तरह से संकलित किया गया, तो इन्फोमेशन ठीक उसी तरह है जैसे प्रश्न में कहा गया है।
  • मैं उपयोग करने pip3 install requestsऔर पाने की कोशिश करता हूं :
File "/usr/local/python3/lib/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: 
'/usr/local/python3/lib/python3.6/site-packages/requests'
  • तो मैं cd /usr/local/python3/lib/python3.6/site-packages, फिर ls -alऔर मिल गया:
drwxr-xr-x    6 root   wheel   192B  2 27 18:06 requests/

जब मैंने यह देखा, तो मुझे समझ में आया, makedirs लिखने की एक क्रिया है, लेकिन drwxrwxr-xकेवल उपयोगकर्ता रूट द्वारा अनुरोधित मोड अनुरोधित फ़ाइल को लिख सकता है। यदि whoamiसमूह पहिया में yutou ( ) जोड़ें , और समूह पहिया को पैकेज को संशोधित कर सकते हैं, तो मैं लिख सकता हूं, और समस्या हल हो सकती है।

Yutou को ग्रुप व्हील में कैसे जोड़ें? + समूह पहिया का पता लगाएं sudo dscl . -list /groups GroupMembership, आप पाएंगे:

wheel                    root

समूह पहिया केवल एक सदस्य रूट। + yutou को ग्रुप व्हील में जोड़ें sudo dscl . -append /Groups/wheel wheel yutou। + जांचें sudo dscl . -list /groups GroupMembership:

wheel                    root yutou

अजगर पैकेज मोड को संशोधित करें

chmod -R 775 /usr/local/python3/lib/python3.6

0

यदि आपने अपने $ PATH वैरिएबल को बदल दिया है जो समस्या का कारण बन सकता है। यदि आपको लगता है कि यह मुद्दा हो सकता है, तो अपने ~ / .bash_profile या ~ / .bashrc की जाँच करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.