윈도우에 만드는 파이썬 개발 환경
2. venv로 파이썬 가상환경 만들기
3. 아나콘다 없이 무료로 Jupyter notebook 설치
5. venv (Virtual ENVironments)
venv는 venv로 생성한
- 가상환경 내에 설치한 패키지를 site-packages폴더에 저장해서
- 가상환경 내에 설치된 패키지가 가상환경 밖의 파이썬의 동작에 영향을 주지 않고
- 이후 그 폴더를 삭제하는 것만으로도 쉽게 가상환경을 제거할 수 있어
- 외부의 파이썬 환경을 가상환경 내부의 패키지로부터 완벽하게 격리하고 보호할 수 있다.
앞에서 설치한 pyenv와 다른 점은 pyenv는 파이썬을 버전별로 관리하기 때문에 같은 버전의 파이썬에 설치한 패키지는 이 버전을 사용하는 모든 프로젝트에 반영되지만, venv로 만든 가상환경에서 설치한 패키지는 이 가상환경 밖에는 적용되지 않는다는 점이다. 따라서
- pyenv로 다른 버전의 파이썬을 설치, 관리하고
- venv로 가상환경을 분리
한다면 보다 완벽한 파이썬 환경관리가 가능하다.
6. venv 사용법
a. 가상환경 생성
python -m venv [가상환경 이름]
명령으로 가상환경을 만들면, 명령을 실행하는 폴더 아래에 [가상환경 이름]으로 폴더가 만들어진다.
b. 가상환경 활성화 (activate)
윈도우에서는 [가상환경 이름]\Scripts폴더에 있는 activate.bat파일을 실행해서 가상환경을 활성화(activate)시킨다.
윈도우 외 운영체제에서는 [가상환경 이름]/bin/activate를 사용한다.
Scripts\activate.bat
가상환경이 activate 되면 명령어 prompt의 처음에 (가상환경 이름) 이 나타난다.
활성화된 상태에서 pip으로 numpy 패키지를 설치하면 Lib\site-packages폴더에 설치되는 것을 확인할 수 있다.
c. 가상환경 비활성화 (deactivate)
activate와 동일하게 윈도우는 [가상환경 이름]\Scripts폴더에서, 윈도우가 아닌 운영체제에서는 [가상환경 이름]/bin폴더에서 deactivate를 실행하면 가상환경에서 벗어나게 된다.
Scripts\deactivate.bat
이제 파이썬을 실행하고 numpy를 불러들여 보면,
화면에 보이듯이 numpy 패키지가 없다고 나온다.
8. VSCode에서 가상환경 사용
venv로 생성한 폴더로 이동한 다음 activate시키고 VSCode를 code명령으로 실행하면 VSCode에서 열리는 프로젝트에서 터미널로 확인해 보면 activation 된 가상환경 이름이 보인다.
VSCode 사용 중에 좀 더 편리하게 가상환경을 바꾸고 싶다면, "Python Environment Manager" Extension을 설치하면 왼쪽 아이콘 목록에 파이썬 아이콘이 보인다.
아이콘을 누르면 설치되어 있는 가상환경들의 목록이 나타나고, 해당 가상프로그램을 실행하려면 1번 아이콘을 눌러 터미널을 열고 실행하고, Workspace를 해당 가상환경으로 바꾸려면 2번 아이콘을 눌르면 상단의 Workspace Environments가 선택한 가상환경으로 바뀌는 것을 확인할 수 있다.
7. 윈도우에서 pyenv-win과 같이 사용할 때 문제점
venv로 가상환경을 만들면 가상환경에서 사용되는 파이썬 버전이 venv를 만들 때 사용한 파이썬의 버전으로 설정되는 것을 확인할 수 있다.
하지만, 파이썬의 버전을 pyenv명령으로 바꾸더라도 가상환경에서의 파이썬 버전이 바뀌지 않는 것을 확인할 수 있다.
이 문제를 해결하기 위해서는 pyvenv.cfg파일을 수정해서 파이썬 버전과 관련된 정보를 바꾸면 된다.
위의 예에서는 아래와 같이 최초의 버전 3.12.4를 변경하고자 하는 버전 3.10.11로 수정하면 된다.
home = C:\Users\webia\.pyenv\pyenv-win\versions\3.10.11
include-system-site-packages = false
version = 3.10.11
executable = C:\Users\webia\.pyenv\pyenv-win\versions\3.10.11\python.exe
command = C:\Users\webia\.pyenv\pyenv-win\versions\3.10.11\python.exe -m venv E:\works\venvtest
'윈도우 개발환경' 카테고리의 다른 글
윈도우에 만드는 리눅스 개발 환경; 7. 윈도우 11에 우분투 설치 (0) | 2023.09.10 |
---|---|
윈도우에 만드는 파이썬 개발 환경; 3. 아나콘다 없이 무료로 Jupyter notebook 설치 (0) | 2023.05.18 |
윈도우에 만드는 파이썬 개발 환경; 1. pyenv로 여러 버전의 파이썬 설치 (0) | 2023.04.20 |
시놀로지 Docker로 만드는 edge server; 2. node.js 서비스 올리기 (0) | 2023.04.20 |
시놀로지 Docker로 만드는 edge server; 1. 우분투 서버 설치하기 (0) | 2023.04.19 |