본문으로 바로가기

패키지 설치시 ERROR: Could not install packages due to an OSError: [WinError 5] 액세스가 거부되었습니다. 라는 에러를 마주칠 때가 있습니다. 이에 대한 해결 4가지 방법을 공유드리고자 합니다.

 

1. 관리자 권한으로 실행

보통 OSError : [WinError 5] 에러를 해결하기 위해 검색하시면 관리자 권한으로 실행하라는 블로그 글을 가장 많이 보실 수 있을 것입니다. 이 방법으로 해결이 되면 좋겠지만, 아마 그 방법으로 해결되지 않아서 이번 포스트의 제목인 '네 가지' 해결 방법을 보고 들어오셨을거라고 생각합니다.. 다른 방법을 말하기 앞서 혹시 관리자 권한으로 실행하는 방법을 시도하지 않은 분이 계실 수 있어 관리자 권한으로 실행하는 방법부터 공유드리도록 하겠습니다.

 

다음과 같이 검색 창에서 cmd 입력 후, 명령 프롬프트를 관리자 권한으로 실행합니다.

 

이후 원래 설치하려던 패키지를 cmd 에 다음과 같이 입력하여 설치하시면 됩니다.

pip install 'package_name'

 

이 방법으로 해결이 되셨다면 축하드립니다. 하지만 안됐으니까 이 포스트까지 오시게 된 것이겠죠..? 다음 방법으로 넘어가도록 하겠습니다.

 

 

 

2. --user 추가 입력

이미 관리자 권한으로 cmd 에 pip install 'package_name' 을 입력했는데 OSError : [WinError 5] 가 발생하는 경우가 있습니다.  그럴 땐 다음과 같이 설치하고자 하는 패키지 이름 뒤에 --user 를 추가로 입력해보도록 하겠습니다.

pip install 'package_name' --user

--user 를 입력해서 설치하면 Error 가 발생하지 않고 directory, path 관련 새로운 Warning 이 나오지만 정상적으로 설치가 됩니다. 또, 위의 명령어를 한 번 더 실행하면 directory, path 관련 warning 이 더 발생하지 않더라구요

 

 

 

3. 가상 환경에서 OSError 발생시

가상 환경에서 패키지 설치가 되지 않는 경우가 있습니다.

이때, 가상환경 폴더에 접속해 pyenv.cfg 를 들어가면 include-system-site-packages 옵션을 보면 false 로 되어있을텐데, 다음과 같이 true 로 수정합니다.

include-system-site-packages = true

 수정한 뒤 다시 패키지 설치를 진행하시면 됩니다.

 

 

 

4. pip version upgrade

마지막으로, pip version 이 업그레이드 되지 않아서 그런 것일 수도 있습니다. 관리자 권한으로 들어가신 뒤 다음과 같은 명령어를 입력하고, 원래 설치하려는 패키지를 설치하시면 됩니다.

python -m pip install --upgrade pip

 

참고로 python -m 은 파이썬에서 모듈을 실행한다는 뜻입니다. 위의 코드에서는 pip module 을 사용하겠다는 뜻으로 python -m pip ~~ 이 사용되었던 것입니다. 이것 외에도 -m 옵션은 pip 모듈이 있는 경로를 지정하지 않아도 환경 변수에 있는 파이썬 경로의 모듈을 사용할 수 있게 합니다. 즉, 모듈의 경로를 따로 안적어도 모듈이 환경 변수에 등록된 경로에 있다면, 어디서든 실행이 가능하게끔 하는 옵션이라고 볼 수 있습니다.