파이썬을 예전에는 그냥 jupyter notebook이랑 VS code로 썼었는데 package 오류가 나면 구글을 통해서 마구잡이로 pip를 남발하다보니 특이하게 패키지가 Appdata폴더의 Local로 들어가기도 하고, Roaming으로 들어가기도 해서 이왕 배우는거 윈도우10부터는 WSL라는 걸 지원해준다고 하니 우분투를 깔아서 도전해보기로 했다.

https://realpython.com/installing-python/

 

Python 3 Installation & Setup Guide – Real Python

In this Python installation guide you'll see step by step how to get a working Python 3 distribution set up on Windows, macOS, Linux, iOS, and Android.

realpython.com

여기를 참고해서 깔아보았다.

개인적으로 WSL과 Ubuntu, pipenv를 사용하면서 오류들을 많이 겪어서 기록해 놓아야겠다는 생각도 들었다... 먼저 pipenv를 이용해서 가상환경을 구축하려고 했는데 이 패키지 버전을 보니 2018년 말에 마지막으로 업데이트되었고, 여러 전문가들이 pipenv는 그만쓰고 Docker을 쓰라하니 이번만 pipenv를 쓰기로 했다.

 

아무튼 WSL을 통해서 우분투를 까는 것은 아래 마이크로소프트 홈페이지에서 자세히 설명해 놓았고 이대로 했을 때 오류가 나지 않았다.

https://docs.microsoft.com/en-us/windows/wsl/install-win10 

 

Install Windows Subsystem for Linux (WSL) on Windows 10

Installation instructions for the Windows Subsystem for Linux on Windows 10.

docs.microsoft.com

그리고 윈도우와 다르게 우분투를 까니까 python이 이미 깔려 있다. 근데 2.7버전과 3.5버전이라는 것. 뿐만 아니라 default로 python2.7을 쓰고 있다. 항상 3버전을 써왔고 3.5에서는 지원 안 하는 패키지들이 있으니 3.7버전으로 깔고, python3 --version 하면 3.7을 default로 만들도록 하자.( VS code에서 깔끔하고 잘 코딩을 할 수 있도록 black과 flake8을 까는데 3.5는 오류가 난다.)

apt-get install python3.7-dev

로 python3.7을 깔아주었다.

 

sudo update-alternatives --config python

를 치면 alternatives(대안)이 없다고 나온다.

 

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1

python은 python2.7로 하게 그냥 놔두고 python3만 python3.7을 1대안으로 하도록 정해 놓았다.

python3 --version 하면 이제 python3.7.x가 나온다. 굿

 

그리고 기존 python에서는 pip오류가 안 났는데 pip._internal가 오류가 나서 재설치를 해주고 pip3만 쓰기로 약속했다.

참고링크: https://qastack.kr/ubuntu/1025189/pip-is-not-working-importerror-no-module-named-pip-internal

 

Pip이 작동하지 않습니다. ImportError : 'pip._internal'이라는 모듈이 없습니다.

 

qastack.kr

그리고 나서 VS code에서 Remote-WSL을 깔고 pipenv로 가상환경을 설정하니 잘 돌아간다.

(pipenv --three 이상하게 오류 떠서 안되고, pipenv --three --python=`which python3` 이걸로 해결)

+ Recent posts