loading
본문 바로가기
이모저모 팁/이모저모 소프트웨어 팁

[독학 pyhton]파이썬 패키지를 설치했는데 없다고 나올 때

by 꼬동이네 2021. 9. 6.

비전공자의 파이썬 독학 일기

2021.09.06

 

시놀로지 docker에 code-server를 설치하는  vs code 웹버전을 경험하고는

 

설치형에서는 겪어보지 못한 또다른 문제점으로 씨름중이다.

 

비 전공자가 프로그래밍이라는걸 경험하고는 코드의 문제보다는

 

설치와 환경의 문제에 지쳐서 나가 떨어지는 모습을 흔하게 볼 수 있지 않을까 또 실감했다.

 

 

문제점

 

결과를 알고 난 후에 작성해보는 문제점

 

기본적으로 파이썬 3.7.3버전이 설치되어 있었고, 추가로 파이썬 3.8.2 버전을 설치했다.

 

인터프리터 환경에서 3.8.2로 변경하고 패키지를 설치했다.

 

설치가 잘되었는데, run  파이썬을 하면 계속 모듈이 없다고 나온다.

 

 

원인

 

파이썬은 명령어 시 python 혹은 python3 으로 어떤 파이썬 버전을 사용할지 물어본다.

 

이 명령어는 파이썬의 전체 버전(?)을 뜻하고, 세부적으로 어떤 파이썬 버전을 사용하지는 링크를 통해 추가적으로 설정되어있었다.

 

이것을 심볼릭링크라고 하는 듯하다.

 

이 추가적인 설정은 인터프리터 설정으로는 변경되지 않는다.

 

링크가 python3 -> python3.7 되어 있다면,

 

인터프리터를 3.8.2로 변경하여도 패키지를 설치하면 python3.7 관련으로 설치가 되는지 다른곳에 설치가 되는지

 

3.8.2랑은 관련이 없어지게 된다.

 

 

해결책

 

파이썬의 심볼릭링크를 변경하여야 한다.

 

 

1. 운영체제 확인

lsb_release -a

 

 

2. 파이썬 설치 위치(경로) 확인

which python

 

or

which python3

 

 

 

3. 파이썬 버전별 설치 심볼릭링크 확인

ls -alh /usr/bin/python*

 

옵션) 설치된 파이썬 버전별 확인

ls /usr/bin/ | grep python

 

 

 

4. 파이썬 심볼릭링크 삭제 (python3)

sudo rm /usr/bin/python3

 

 

5. 심볼릭링크가 삭제되었는지 확인

ls -alh /usr/bin/python*

 

 

6. 원하는 파이썬버전을 심볼릭 링크

sudo ln -s /usr/bin/python3 /usr/local/bin/python3.8

(/usr/bin/python3 은 python3의 기본 경로로 ls -alh /usr/bin/python* 로 주소 확인 가능)

(뒤에 /usr/local/bin/python3.8 변경할 파이썬 3.8의 경로로 인터프리터 셀렉트에서 경로 확인 가능)

 

 

 

추가 내용

 

해당 과정은 alternatives라는 것으로 삭제와 재링크가 아니라 선택적으로 가능한 듯하다.


alternatives라는것을 통해 확인

update-alternatives --display python3

해당 모듈이 설정되어 있지 않다면, 다음과 같은 오류가 나온다.

update-alternatives: error: no alternatives for python3

 

필요에 따라 모든 명령어 앞에 sudo를 통해 권한 부여를 해야함.

 

 

오류코드

e: unable to locate package python3.8 

e: couldn't find any package by glob 'python3.8' 

e: couldn't find any package by regex 'python3.8'

 

 

공감과 댓글은 큰 힘이 됩니다.

유익한 정보가 되었다면, 공감 버튼을

더 궁금하신게 있다면 댓글을 남겨주세요.

댓글