[Python]개발환경 설정

Philip Sung·2023년 11월 18일
0

[Python]

목록 보기
4/4
post-thumbnail

01 개요

대부분의 프로젝트에서는 외부 라이브러리의 목록과 버전을 별도로 관리하여 언제나 같은 실행환경을 구축하는 방법을 가지고 있다. JavaScript기반 프로젝트는 일반적으로 package.json을 통해 관리한다.

파이썬 도한 마찬가지로 이렇게 라이브러리 목록을 가지고 있으며, 이를 실행하기 위한 실행 환경을 프로젝트마다 별도로 구축하는 것이 가능하다. 본 문서에서는 이와 관련된 내용을 정리한다.

최종수정일 : 2023.12.01




02 현재 환경 확인

02.01 파이썬의 설치 경로 확인

import sys
sys.executable

#result : 'C:\\Users\\myPC\\.virtualenvs\\myPC-aubkC56d\\Scripts\\python.exe'

02.02 모듈 경로 확인

import numpy

print(np)

#result : <module 'numpy' from 'C:\\Users\\myPC\\.virtualenvs\\myPC-aubkC56d\\Lib\\site-packages\\numpy\\__init__.py'>




03 Python 버전 관리

03.01 pyenv

모듈에 따라 사용 가능한 다양한 Python의 버전을 유동적으로 사용하기 위해서 pyenv를 사용한다. windows 운영체제의 경우 2023년 11월 기준 정식으로 지원하지는 않으나, kirankotari의 pyenv-win의 fork를 사용한다.

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

about_Execution_Policies오류가 발생할 경우 아래와 같은 방법을 사용한다.

Get-ExecutionPolicy
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

pyenv가 설치된 경우, 아래와 같은 명령어로 사용할 파이썬의 버전을 선택한다.

#show installable versions of python
pyenv install -l 

#install python version 3.11.6
pyenv install 3.11.6

#set global python version 3.11.6
pyenv global 3.11.6

#set directory's local python version 3.9.13
mkdir myDirectory
cd ./myDirectory
pyenv local 3.9.13

#show installed python versions
pyenv versions




04 가상환경 설정

Pipenv는 javascript 개발환경에서의 package.json과 같은 패키지 관리 시스템의 장점을 도입하는 것과 같은 효과를 같는다.

python의 다른 가상환경 설정 방법인 venv는 쉽게 가상환경을 구축할 수 있지만, 패키지 관리는 pip를 사용한다. pip는 종속성 관리를 requirementes.txt로 수동으로 관리한다. 패키지를 삭제할 때도 종속성을 수동으로 관리해야 하는 불편함이 있기 때문에 pipenv로 편리하고 안정적으로 패키지 관리를 할 수 있다.

04.01 설치

pip install pipenv

mkdir myDirectory
cd myDirectory

pipenv --python 3.11.6
pipenv shell
pipenv install torch
#(NewVEnv-IscNwJwu) C:\Users\myPC\Desktop\NewVEnv>

위와 같은 과정을 통해 pipenv shell에 접속하여 패키지를 관리할 수 있다. pipenv --python version을 통해 Pipfile 파일을 생성할 수 없는 경우, 상위 폴더에 있는 Pipfile을 찾아 삭제해본다.

위와 같이 실행한 경우 Windows10 환경에서는 일반적으로 아래 경로에 가상환경에 대한 메타데이터가 생성된다.

C:\Users\UserName\.virtualenvs




05 가상환경에서 패키지 설치

05.01 pytorch cuda

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

파이토치에서 제공하는 위와 같은 옵션은 보안상의 문제로 사용이 불가능 할 수 있다. 이러한 경우 Pipfile을 아래와 같이 수정하여 옵션을 적용할 수 있다.

#Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[[source]]
url = "https://download.pytorch.org/whl/cu121"
verify_ssl = false
name = "pytorch"


[packages]

[dev-packages]

[requires]
python_version = "3.10"

pipenv install --index=pytorch torch
pipenv install --index=pytorch torchvision
pipenv install --index=pytorch torchaudio

#result
...
[packages]
torch = {version="*", index="pytorch"}
torchvision = {version="*", index="pytorch"}
torchaudio = {version="*", index="pytorch"}
...

99 참조자료

가장보통의파이썬 개발환경 https://jonnung.dev/python/2019/11/23/ordinary-python-development-environment/#gsc.tab=0
pyenv https://docs.kanaries.net/ko/topics/Python/python-version-manager
pipenv등장배경 https://heytech.tistory.com/320
pipenv https://medium.com/@erish/python-pipenv-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-961b00d4f42f
파이썬가상환경 비교 https://devbull.xyz/python-create-environment/
모듈찾는 위치 https://livetodaykono.tistory.com/22

profile
Philip Sung

0개의 댓글