#python #windows #pip
#python #Windows #pip
Вопрос:
Буду признателен за любую помощь, я получаю приведенную ниже ошибку при установке любого пакета python с использованием pip install. pip install установлен из get-pip.py.
Exception:
Traceback (most recent call last):
File "c:python27libsite-packagespipbasecommand.py", line 215, in main
status = self.run(options, args)
File "c:python27libsite-packagespipcommandsinstall.py", line 310, in run
wb.build(autobuilding=True)
File "c:python27libsite-packagespipwheel.py", line 750, in build
self.requirement_set.prepare_files(self.finder)
File "c:python27libsite-packagespipreqreq_set.py", line 370, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "c:python27libsite-packagespipreqreq_set.py", line 587, in _prepare_file
session=self.session, hashes=hashes)
File "c:python27libsite-packagespipdownload.py", line 810, in unpack_url
hashes=hashes
File "c:python27libsite-packagespipdownload.py", line 661, in unpack_http_url
rmtree(temp_dir)
File "c:python27libsite-packagespip_vendorretrying.py", line 49, in wrapped_f
return Retrying(*dargs, **dkw).call(f, *args, **kw)
File "c:python27libsite-packagespip_vendorretrying.py", line 212, in call
raise attempt.get()
File "c:python27libsite-packagespip_vendorretrying.py", line 247, in get
six.reraise(self.value[0], self.value[1], self.value[2])
File "c:python27libsite-packagespip_vendorretrying.py", line 200, in call
attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
File "c:python27libsite-packagespiputils__init__.py", line 102, in rmtree
onerror=rmtree_errorhandler)
File "c:python27libshutil.py", line 249, in rmtree
onerror(os.remove, fullname, sys.exc_info())
File "c:python27libsite-packagespiputils__init__.py", line 110, in rmtree_errorhandler
if os.stat(path).st_mode amp; stat.S_IREAD:
WindowsError: [Error 5] Access is denied: 'c:\users\ganesr01\appdata\local\
temp\pip-nhsft2-unpack\pypiwin32-219-cp27-none-win32.whl'
Комментарии:
1. Похоже, вы получаете WindowsError, поэтому попробуйте повторно запустить и открыть cmd windows от имени администратора
2. @Alastair, спасибо за ответ. но такая же ошибка и из окна Admin cmd
3. По-видимому, это в середине вызова
shutil.rmtree
в каталоге. Если файл уже удален, но еще не разорван (возможно, потому, что у какого-то компонента ядра, такого как сканер вредоносных программ, все еще есть ссылка), то он все еще находится в списке каталогов, но попытка открыть его, даже кstat
нему, завершится неудачей с отказом в доступе. Оставляет ли это%TEMP%pip-nhsft2-unpack
каталог на месте после сбоя? Есть ли в этом каталоге файл wheelpypiwin32-219-cp27-none-win32.whl
и можете ли вы его прочитать (это zip-файл)?4. Удаление файла в Windows устанавливает порядок удаления в базовом блоке управления файлами, но файл не разблокируется до тех пор, пока все ссылки на объекты файла ядра не будут закрыты. До тех пор существующие
File
ссылки на объекты ядра могут обращаться к файлу; они могут даже использоваться для отмены удаления для его восстановления. Но пока он «удален», никакие новые ссылки не могут быть открыты для любого доступа.
Ответ №1:
Повторно запустите команду, за исключением открытия командной строки от имени администратора
Редактировать: Если это не работает, похоже, у вас нет разрешений на запись в эту папку, вам нужно изменить разрешения для этих папок.
Комментарии:
1. Файл находится в собственном
%TEMP%
каталоге операционной системы, созданном собственным процессом операционной системы. Вероятность того, что это проблема с разрешением, равна нулю.