파이썬, 프로젝트를 가상 환경에서 개발하기 (virtualenv)
글. 수알치 오상문
파이썬 가상 환경
가상 환경을 만들어서 사용하는 방법은 여러 가지(venv(내장), vitualenv(설치 필요), conda(아나콘다 필요) 등)이다. 그중에서 파이썬 vertualenv 모듈을 이용하여 가상 환경을 만들어 사용하겠다. 먼저 파이썬(3.3 이상)을 설치한다. 최신 버전을 다운로드 해서 설치하자.
[파이썬 다운로드 사이트] https://www.python.org/
(1) virtualenv를 설치한다.
pip install --user -U virtualenv
C:\Users\USER>pip install --user -U virtualenv
Collecting virtualenv
Downloading virtualenv-20.14.1-py2.py3-none-any.whl (8.8 MB)
---------------------------------------- 8.8/8.8 MB 8.3 MB/s eta 0:00:00
...
Successfully installed distlib-0.3.4 filelock-3.7.1 platformdirs-2.5.2 virtualenv-20.14.1
WARNING: There was an error checking the latest version of pip.
(2) 가상 환경 만들기
가상 환경을 사용할 폴더를 생성하고(projects), 해당 폴더로 이동한다. myproject는 만들 프로젝트 이름이다.
python -m virtualenv myproject
[실행 화면]
C:\projects>python -m virtualenv myproject
created virtual environment CPython3.10.4.final.0-64 in 5262ms
creator CPython3Windows(dest=C:\myproject\myproject, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\USER\AppData\Local\pypa\virtualenv)
added seed packages: pip==22.0.4, setuptools==62.1.0, wheel==0.37.1
activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
(3) 가상 환경 활성 (activate)
가상 환경 프로젝트(myproject)로 이동한다.
윈도우 : Scripts\activate
리눅스 : source /bin/activate
[실행 화면]
C:\projects\myproject>Scripts\activate
(myproject) C:\projects\myproject>
프롬프트 앞에 (myproject)처럼 가상환경 이름이 나타나는 것을 볼 수 있다.
해당 프로젝트 구조는 [참고] 내용에서 볼 수 있다. 이중에서 경로 두 개 즉 Lib\site-package, Scripts는 기억하자. Lib\site-package 경로에는 설치한 모듈(패키지)가 저장되며 Scripts에는 파이썬에서 사용하는 스크립트 파일이 저장된다.
[참고] 프로젝트 폴더 구조
C:\PROJECTS\MYPROJECT
├─Lib
│ └─site-packages
│ ├─pip
│ ├─pip-22.0.4.dist-info
│ ├─pkg_resources
│ ├─setuptools
│ ├─setuptools-62.1.0.dist-info
│ ├─wheel
│ ├─wheel-0.37.1.dist-info
│ └─_distutils_hack
└─Scripts
(4) 가상 환경에 모듈 설치하기
가상 환경에 모듈을 설치하려면 가상 환경이 활성된 상태에서 진행해야 한다. 다음 예제 화면은 fastapi 패키지를 설치하는 경우이다. (설치되는 경로는 myproject\Lib\site-packages\fastapi)
[실행 화면]
(myproject) C:\projects\myproject\Scripts>python -m pip install fastapi
Collecting fastapi
Downloading fastapi-0.78.0-py3-none-any.whl (54 kB)
Collecting pydantic!=1.7,!=1.7.1,!=1.7.2,!=1.7.3,!=1.8,!=1.8.1,<2.0.0,>=1.6.2
Downloading pydantic-1.9.1-cp310-cp310-win_amd64.whl (2.0 MB)
Collecting starlette==0.19.1
Using cached starlette-0.19.1-py3-none-any.whl (63 kB)
Collecting anyio<5,>=3.4.0
Downloading anyio-3.6.1-py3-none-any.whl (80 kB)
Collecting typing-extensions>=3.7.4.3
Using cached typing_extensions-4.2.0-py3-none-any.whl (24 kB)
Collecting idna>=2.8
Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting sniffio>=1.1
Using cached sniffio-1.2.0-py3-none-any.whl (10 kB)
Installing collected packages: typing-extensions, sniffio, idna, pydantic, anyio, starlette, fastapi
Successfully installed anyio-3.6.1 fastapi-0.78.0 idna-3.3 pydantic-1.9.1 sniffio-1.2.0 starlette-0.19.1 typing-extensions-4.2.0
WARNING: You are using pip version 22.0.4; however, version 22.1.2 is available.
You should consider upgrading via the 'C:\projects\myproject\Scripts\python.exe -m pip install --upgrade pip' command.
[참고] pip 버전 경고 시 업그레이드 (경고에 나오는 실행 명령을 복사해서 실행하자)
C:\projects\myproject\Scripts\python.exe -m pip install --upgrade pip
(5) 프로젝트 폴더에 hello.py를 만들기
텍스트 편집기를 이용하여 다음과 같은 hello.py 파일을 작성하여 저장하다(저장 위치는 myproject).
[예제 코드] hello.py
print("Hello, world!")
(6) hello.py 파일 실행하기
Scripts\python hello.py
[실행 화면]
(myproject) C:\projects\myproject>python hello.py
Hello, world!
(7) 가상 환경 종료 (deactivate)
윈도우 : Scripts\deactivate
리눅스 : source /bin/activate
[실행 화면]
(myproject) C:\projects\myproject>Scripts\deactivate
C:\projects\myproject> <-- 프롬프트에서 (myproject)가 사라짐!!!
'Python 활용' 카테고리의 다른 글
Python, venv 가상 환경 폴더를 이동한 경우 에러 (0) | 2022.06.11 |
---|---|
Python, venv 가상환경 파이썬 버전 지정하기 (0) | 2022.06.11 |
파이썬, asyncio 사용하기 (0) | 2022.06.08 |
DeprecationWarning: There is no current event loop 에러 (0) | 2022.06.08 |
파이썬, 데이터 분석 가이드 (Python for Data Analsis, 3E) (0) | 2022.06.01 |