2015-08-20 8 views
5

से इनकार किया गया है मैंने एक नया विंडोज 10 इंस्टॉल किया है, स्थापित पायथन, साइगविन और कन्व्यू नामक एक बेहतर कंसोल किया है। अजगर 3.4.3 स्थापित करने के बाद मैं निष्पादित करें:विंडोज 10 और पीपी अपग्रेडिंग - एक्सेस

pip install -U pip 

और यह त्रुटि हुई।

File "C:\Anwendungsentwicklung\Python34\lib\site-packages\pip\utils\__init__.py", line 70, in rmtree_errorhandler 
    os.makedirs(path) 
PermissionError: [WinError 5] Zugriff verweigert: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-dxm8d3xg-uninstall\\anwendungsentwicklung\\python34\\scripts\\pip.exe' 

मैं पूर्व निर्धारित व्यवस्थापक खाते और अस्थायी निर्देशिका के साथ ही स्थापना अजगर की निर्देशिका के साथ लॉग इन कर रहा हूँ (C: \ Anwendungsentwicklung \ Python34) पूरा उपयोग किया है।

कृपया मैंने अलग-अलग अधिकारों को सेट करके सभी भिन्नताओं का परीक्षण किया है लेकिन विंडोज मुझे नहीं जाने देगा। मैंने सुरक्षा टैब में "हर कोई" भी जोड़ा लेकिन इससे मदद नहीं मिली हालांकि मुझे याद है कि यह विंडोज 7 के साथ इस "चाल" के साथ काम कर रहा था। यह विंडोज 10 के साथ एक समस्या होनी चाहिए। क्या कोई मदद कर सकता है ??

enter image description here


यह पूर्ण ट्रैस बैक

Exception: 
Traceback (most recent call last): 
File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 372, in _rmtree_unsafe 
    os.unlink(fullname) 
PermissionError: [WinError 5] Zugriff verweigert: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-k7g0hd6t- uninstall\\anwendungsentwicklung\\python34\\scripts\\pip.exe' 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\basecommand.py", line 232, in main 
    logger.critical('Operation cancelled by user') 
File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\commands\install.py", line 347, in run 
    ensure_dir(options.target_dir) 
File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\req\req_set.py", line 560, in install 
    missing_requested = sorted(
File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\req\req_install.py", line 677, in commit_uninstall 
    logger.debug(
File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\req\req_uninstall.py", line 153, in commit 
    self.save_dir = None 
File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\utils\__init__.py", line 58, in rmtree 
    SUPPORTED_EXTENSIONS = ZIP_EXTENSIONS + TAR_EXTENSIONS 
File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 484, in rmtree 
    return _rmtree_unsafe(path, onerror) 
File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 368, in _rmtree_unsafe 
    _rmtree_unsafe(fullname, onerror) 
File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 368, in _rmtree_unsafe 
    _rmtree_unsafe(fullname, onerror) 
File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 368, in _rmtree_unsafe 
    _rmtree_unsafe(fullname, onerror) 
File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 376, in _rmtree_unsafe 
    print(fullname) 
File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\utils\__init__.py", line 70, in rmtree_errorhandler 
    try: 
PermissionError: [WinError 5] Zugriff verweigert: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-k7g0hd6t-uninstall\\anwendungsentwicklung\\python34\\scripts\\pip.exe' 

अब मैं में एक ब्रेकपाइंट जोड़ा है "c: \ anwendungsentwicklung \ python34 \ lib \ shutil.py":

# version vulnerable to race conditions 
def _rmtree_unsafe(path, onerror): 
try: 
    if os.path.islink(path): 
     # symlinks to directories are forbidden, see bug #1669 
     raise OSError("Cannot call rmtree on a symbolic link") 
except OSError: 
    onerror(os.path.islink, path, sys.exc_info()) 
    # can't continue even if onerror hook returns 
    return 
names = [] 
try: 
    names = os.listdir(path) 
except OSError: 
    onerror(os.listdir, path, sys.exc_info()) 
for name in names: 
    fullname = os.path.join(path, name) 
    try: 
     mode = os.lstat(fullname).st_mode 
    except OSError: 
     mode = 0 
    if stat.S_ISDIR(mode): 
     _rmtree_unsafe(fullname, onerror) 
    else: 
     try: 
      #import pdb 
      os.unlink(fullname) 
      #pdb.set_trace() 
     except OSError: 
      import pdb; pdb.set_trace() 
      print(fullname) 
      import getpass 
      print(getpass.getuser()) 
      onerror(os.unlink, fullname, sys.exc_info()) 
try: 
    os.rmdir(path) 
except OSError: 
    onerror(os.rmdir, path, sys.exc_info()) 

जब मैं

निष्पादित करता हूं
os.unlink(fullname) # 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-k7g0hd6t- uninstall\\anwendungsentwicklung\\python34\\scripts\\pip.exe' 

मैं इस PermissionError मिलता है, तो मैं

oct(os.stat(fullname)[ST_MODE]) 

के साथ इस exe फ़ाइल के अधिकारों की जाँच की और यह देता है: '0o100777'

और जब मैं सही हूँ, इस पूरी अनुमति का मतलब हर किसी के लिए (मालिक, समूह और अन्य)।

मैं निराश हूं:/ किसी को कोई विचार है?

+0

क्या आप ऊंचा होने के दौरान कमांड चलाने का प्रयास करते थे? – poke

+0

यह आपका ConEmu कंसोल नहीं है - मैंने अभी अपग्रेड किया है और मानक सिगविन कंसोल का उपयोग करके एक ही त्रुटि प्राप्त की है। –

+0

@poke सुनिश्चित करें। लेकिन ठाणे प्लमर कहते हैं, इससे कोई फर्क नहीं पड़ता कि कौन सा कंसोल है। विंडोज 10 में आम तौर पर कुछ लपेटा जाता है -.- – FalloutBoy

उत्तर

4

जैसा कि here पर चर्चा की गई, यह एक विंडोज़ सीमा है। संक्षेप में, pip.exe फ़ाइल उपयोग में है और इस प्रकार लॉक है और हटाया नहीं जा सकता है। python -m pip install --upgrade pip का उपयोग करें।

+0

कृपया इसे एक उत्तर के रूप में जोड़ने के बजाय * अपने प्रश्न को संपादित करके * अतिरिक्त जानकारी दें (जो यह नहीं है)। –

+0

@ रोलैंड स्मिथ ने देखा कि अन्य धागे में, क्षमा करें। मेरे लिए समस्या हल हो गई। यह एक खिड़कियां सीमा है और अभी तक तय नहीं किया गया था। पायथन-एमपी इंस्टॉल - अपग्रेड पाइप का उपयोग करें। यहां चर्चा की गई: https://github.com/pypa/pip/issues/1299 सारांश: फ़ाइल लॉक/उपयोग में है और उन फ़ाइलों को हटाया नहीं जा सकता है। धन्यवाद सब! – FalloutBoy

+0

आपको * वह * उत्तर देना चाहिए और इसे स्वीकार करना चाहिए। अगली बार –

4

उसी स्थिति में मेरी पहली पसंद व्यवस्थापक अधिकारों के साथ कंसोल शुरू करना है। आप इसे स्टार्ट मेनू से कर सकते हैं या यदि आप ConEmu/Cmder का उपयोग कर रहे हैं, तो बस व्यवस्थापक के रूप में नया इंस्टेंस/टैब चलाएं।

+0

बस स्पष्ट करने के लिए: ओपन स्टार्ट मेनू, 'कमांड प्रॉम्प्ट' पर राइट क्लिक करें, 'अधिक' चुनें, 'व्यवस्थापक के रूप में चलाएं' पर क्लिक करें। –

+0

धन्यवाद। इससे मदद मिली! –