पाइप / पायथन: सामान्य साइट-पैकेज लेखन योग्य नहीं है


11

मेरे पास एक नई मैकबुक है - एक उपयोगकर्ता ने इसे स्थापित किया, और फिर मैंने एक नया उपयोगकर्ता (मेरा) स्थापित किया, व्यवस्थापक विशेषाधिकार दिए और पुराने को हटा दिया। मैं ओएस कैटालिना पर हूं।

स्थापना के बाद से मुझे कई अनुमति की समस्या हो रही है। VSCode Jupyter नोटबुक नहीं ढूँढ सकता, pipपर पैकेज स्थापित करता है ~/Library/Python/3.7/site-packages

जब मैं करना which python3मुझे मिलता है usr/bin/python3। जब मुझे pip3 install <package>मिलता है: Defaulting to user installation because normal site-packages is not writeableऔर फिर यह कहता है कि यह पहले ही इंस्टॉल हो चुका है, हालांकि मैं इसे तब तक एक्सेस नहीं कर सकता जब मैं करता हूं import <package>

यह स्पष्ट है कि यह एक अनुमति समस्या है, pip"बेस" अजगर को स्थापित नहीं कर सकता है, और वे pythonनहीं पा सकते हैं जो मैंने स्थापित किया है ~/Library/Python/3.7/site-packages

मैंने OS को फिर से स्थापित करने की कोशिश की है, लेकिन जब से मैंने एक साफ इंस्टॉल नहीं किया है, तो यह कुछ भी नहीं बदलता है। मैं क्या खो रहा हूँ? मैं अनुमतियों को ठीक कैसे कर सकता हूं? मैं कहां से पैकेज स्थापित करना चाहता हूं ( venvसुनिश्चित करें, लेकिन कुछ पैकेज मुझे वैश्विक चाहिए (जैसे jupyter)।

धन्यवाद


मुझे भी यह समस्या हो रही है। मुझे आश्चर्य है कि अगर इसे पायथन 2.7 के समर्थन के साथ करना है
क्रिस डुट्रो

मैं एक ही समस्या है
माहियार माले

1
क्या आप वाकई सही का उपयोग कर रहे हैं pip? यदि आप ज्यादा सुरक्षित उपयोग करते हैं तो क्या होगा python -m pip install ....?
टॉम डे गेउस

@TomdeGeus: ठीक है, python3 -m pip install ...इस मामले में, लेकिन हाँ, जब पायथन के कई संस्करण शामिल हैं, तो pip"निष्पादित मॉड्यूल" दृष्टिकोण के माध्यम से आह्वान करना अधिक सुरक्षित है , इसलिए आप जानते हैं कि आप अपेक्षित पायथन निष्पादन योग्य का उपयोग कर रहे हैं।
शैडो रेंजर

इसे ठीक करने के लिए मैंने python3 की स्थापना रद्द की (पहले काढ़ा के साथ स्थापित) और python3 को स्थापित करने के लिए pyenv का उपयोग किया। अब यह सब काम करता है। इस गाइड का पालन किया: opensource.com/article/19/5/python-3-default-mac (पिछले अनुभाग में जाएं)
Arseny लेविन

जवाबों:


2

सीधे सिस्टम-प्रदान किए गए पायथन का उपयोग न करना सबसे अच्छा है। जैसा कि आपने अनुभव किया है कि ओएस को अवांछित तरीकों से बदल सकता है, क्योंकि वह अकेला छोड़ देता है।

सबसे अच्छा अभ्यास अपने स्वयं के पायथन संस्करण को कॉन्फ़िगर करना है और उन्हें एक प्रति-परियोजना के आधार पर प्रबंधित करना है virtualenv(पायथन 2 के लिए) या venv(पायथन 3 के लिए)। यह सिस्टम प्रदान पायथन संस्करण पर सभी निर्भरता को समाप्त करता है, और मशीन पर अन्य परियोजनाओं से प्रत्येक परियोजना को अलग भी करता है।

यदि आवश्यक हो, तो प्रत्येक परियोजना का एक अलग पायथन पॉइंट संस्करण हो सकता है, और अपनी स्वयं की site_packagesनिर्देशिका प्राप्त कर सकता है इसलिए पाइप-स्थापित लाइब्रेरी में परियोजना द्वारा अलग-अलग संस्करण भी हो सकते हैं। यह दृष्टिकोण एक प्रमुख समस्या-परिहार है।


0

डेबियन 9.12 की एक ताजा स्थापना पर यही मुद्दा था। मेरे सर्वर को रिबूट करने से समस्या हल हो गई।

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