1. 문제상황
windows에서 pip를 통해 설치했던 라이브러리가 제대로 동작하지 않는 문제가 있었다. 예를 들어 파이썬 코드나 파일의 정렬을 맞춰주는 black, isort 라이브러리를 'pip install' 명령어를 통해서 설치했었는데, 아래 사진처럼 Pycharm이 실행파일의 경로를 제대로 인식하지 못하는 문제가 있었다.
File Watcher에서 설정하는 'black' 라이브러리의 실행 파일 경로를 지정해주는 "Program" 부분에서 black 라이브러리 실행 파일을 제대로 인식하지 못하고 있었다.
Check 만약 sudo 명령어에 대해 모르거나 Windows에 설치가 되어있지 않은 상황이라면, 아래 글의 내용을 참조하여 설정을 따로 해주어야한다!
https://whitepro.tistory.com/622
2. 원인 분석
파이썬 라이브러리 설치 경로
파이썬은 라이브러리 설치 경로를 (일반적으로) C:\Python310과 같은 위치로 지정한다(310은 파이썬 버전인 것 같음).
C:\Python310\Lib\site-packages
시스템 환경 변수에도 해당 Path가 등록되어 있는 것을 확인할 수 있다.
원인 : 관리자 권한으로 설치하지 않았다.
그런데, 위에서 언급한 위치에는 실행가능한(executable, .exe 확장자 파일)을 설치하지 않는다. 실행 가능한 파일을 설치하기 위해서는 cmd를 관리자 권한으로 실행하고, 'sudo' 명령어를 통해서 pip 설치를 해야한다.
sudo pip install {라이브러리 이름}
관리자 권한으로 cmd를 실행하더라도, sudo 명령어를 빼먹으면 제대로 설치되지 않는다! 반드시 sudo 명령어로 설치해야한다.
그러면 아래 위치에 라이브러리의 실행파일(.exe)이 설치된다. 이 경로의 실행 파일을 참조해야 제대로 실행을 할 수 있다. 물론 모든 라이브러리가 이런 것은 아니다. 하지만 black, isort와 같이 executable한 실행 파일을 참조해야하는 경우에는 이런 문제가 있을 수 있다!
C:\Python310\Scripts
3. 해결방법
기존 설치 라이브러리 uninstall
기존에 설치한 라이브러리가 이미 관리자 권한 없이 설치되었다면, 아래 명령어를 통해 삭제 후 관리자 권한으로 다시 설치하면 된다.
pip uninstall {라이브러리 이름}
CMD 명령 프롬프트 관리자 권한으로 실행하기
각종 패키지들을 설치해주는 CMD 프로그램을 실행 시마다 관리자 권한으로만 실행하도록 설정해주면 한결 편리하다.
속성 -> 바로가기 -> 고급에서 관리자 권한으로 실행 옵션을 설정해준다.
다만, 이렇게 관리자 권한으로 실행을 하더라도 반드시 'sudo' 명령어를 넣어줘야한다. 그렇지 않으면 관리자 권한으로 실행한 cmd에서 관리자 권한없이 pip install 등 명령어를 sub-process로 실행하는 것 같다.
참조
회사 동료 개발자분 wj 님 감사합니다.
'Programming-[Backend] > Python' 카테고리의 다른 글
파이썬 중급 - 2. 매직 메서드, namedtuple (0) | 2022.07.17 |
---|---|
파이썬 중급 - 1. 클래스와 메서드 (0) | 2022.07.17 |
파이썬 기본 - 4. 입력과 출력, 클래스, 모듈, 패키지, 예외처리, 내장/외장 함수 (0) | 2022.06.05 |
파이썬 기본 - 3. 조건문, 제어문, 함수 (0) | 2022.06.04 |
파이썬 기본 - 2. 리스트, 튜플, 딕셔너리, 집합, 불, 인스턴스 복사 (0) | 2022.06.04 |