Fedora 37 + Visual Studio Code 환경에서 가상환경을 만들고 패키지를 설치하는 방법을 알아봅니다. 예제로 matplotlib를 설치하고 그래프를 그려보겠습니다.
Linux에서 실행되는 Visual Studio Code는 WSL(Windows Subsystem for Linux)을 사용해서 터미널을 실행하고 프로그램들을 실행합니다. WSL 내에서 실행되는 matplotlib은 WSL의 UI 지원 부족으로 그래프를 보여줄 수 없습니다. 그래서 tkinter를 설치해서 그래프를 출력합니다. tkinter는 Python interface to Tcl/Tk로 Tcl/Tk GUI 툴킷을 사용할 수 있도록 해 줍니다.
1. tkinter를 설치합니다.
sudo dnf install python3-tkinter
2. 예제를 작성합니다.
이전글 "Fedora 37 + Visual Studio Code에서 Python사용하기" 에서 만든 "hello" 폴더에 추가해서 작성합니다. "trigonometric.py" 파일을 작성하고 다음 내용을 입력합니다.
이 예제에서 사용되는 matplotlib는 그래프를 그리기 위한 라이브러리이고, numpy는 수학함수를 제공하는 라이브러리입니다.
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 15, 0.1)
y = np.sin(x)
z = np.cos(x)
plt.plot(x, y, x, z)
plt.show()
코드를 작성하면 하단 문제점 탭에 matplotlib와 numpy가 없다고 보고되고 있습니다. 문제점 탭이 보이지 않는다면 메뉴의 "보기" -> "문제"를 선택하면 됩니다.
3. Python 가상 환경을 만듭니다.
가상 환경은 현재 폴더(프로젝트)에만 적용되는 환경을 구성하는 것을 말합니다. 모든 프로젝트에 적용되는 것은 글로벌 환경이라고 합니다. 가상 환경에는 그 환경에만 적용되는 독립된 Python 인터프리터, 라이브러리 등을 사용할 수 있습니다. 가상 환경별로 다른 버전의 인터프리터, 라이브러리를 사용할 수 있는 것입니다.
터미널에서 다음 명령으로 현재 폴더에서 사용될 가상환경을 만듭니다.
python -m venv .venv
source .venv/bin/activate
첫 번째 명령은 venv 모듈을 사용해서 .venv 폴더 아래 가상환경에 필요한 파일을 생성합니다. 명령 실행 후 "새 환경이 생성되었음을 확인했습니다. 작업 영역 폴더에 대해 선택하시겠습니까?" 라는 알림창이 뜹니다. 여기에 "예"를 선택하면 새 터미널을 열때마다 자동으로 가상환경이 활성화됩니다.
두 번째 명령은 가상환경을 activate합니다. 프롬프트가 앞에 가상환경 폴더명이 들어가는 형식으로 바뀐것을 볼 수 있습니다.
4. Python 인터프리트를 가상 환경의 인터프리터로 선택합니다.
메뉴에서 "보기" -> "명령 팔레트"를 실행해서 "Python: Select Interpreter" 를 선택하고, 보여지는 인터프리터들 중에서 앞에서 만든 .venv 가상환경의 인터프리터를 선택합니다.
5. 가상 환경이 활성화된 상태에서 패키지를 설치합니다.
matplotlib를 설치하면 의존성이 있는 numpy가 같이 설치됩니다. pip 모듈을 사용해서 matplotlib를 설치하게 됩니다. pip는 Python 패키지 관리자로 Python용 소프트웨어 저장소인 PyPI(Python Package Index)로 부터 소프트웨어를 설치할 수 있습니다.
(참고로 PyPI는 누구나 소프트웨어를 업로드할 수 있는 곳이므로 보안을 생각했을때 신뢰할 수 있는 소프트웨어만 설치하고, install 명령에 사용되는 패키지명을 두번 체크하여 유사한 이름의 다른 패키지가 설치되지 않도록 주의해야 한다고 합니다.)
python -m pip install matplotlib
패키지가 설치되고 난 다음 "문제" 탭 뒤에 보이던 "2"라는 숫자가 사라진걸 알 수 있습니다.
6. 프로그램을 실행해 봅니다.
메뉴의 "실행" -> "디버깅 없이 실행"을 선택해서 실행합니다. 그래프가 잘 보입니다.
지금까지 Visual Studio Code에서 가상환경을 만들고 패키지를 설치해보았습니다.
'프로그래밍 > Python' 카테고리의 다른 글
Python 3.10.2와 PyScripter 설치하기 (0) | 2022.02.24 |
---|---|
파이썬 웹프로그래밍 - 장고(Django) 데이터베이스 API 사용하기 (0) | 2018.04.21 |
파이썬 문법 9 - 클래스(class) 만들기 (0) | 2018.04.09 |
파이썬 문법 8 - 모듈(module)과 패키지(package) 사용하기 (6) | 2018.04.09 |
파이썬 웹프로그래밍 - 장고(Django) 튜토리얼 1(MySQL, MariaDB 연동) (0) | 2018.04.09 |