Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발부터 자유까지

[Python] 윈도우에서 pipenv 로 가상환경 만들기 본문

Python

[Python] 윈도우에서 pipenv 로 가상환경 만들기

건물주개발자 2023. 12. 29. 15:31

 

pipenv 를 사용하는 이유

  • 로컬에 설치되어 있는 파이썬 환경과 별도로 사용할 수 있는 가상 환경 제공
  • 가상환경만을 위한 파이썬, 각종 library 설치하여 다른 프로젝트에 영향 방지

pipenv 설치

pip install pipenv
PS C:\> pip install pipenv

Collecting pipenv
  Downloading pipenv-2023.11.15-py3-none-any.whl (3.2 MB)
     ---------------------------------------- 3.2/3.2 MB 25.6 MB/s eta 0:00:00
Collecting setuptools>=67
  Downloading setuptools-69.0.3-py3-none-any.whl (819 kB)
     ---------------------------------------- 819.5/819.5 kB 12.8 MB/s eta 0:00:00
Collecting certifi
  Downloading certifi-2023.11.17-py3-none-any.whl (162 kB)
     ---------------------------------------- 162.5/162.5 kB 9.5 MB/s eta 0:00:00
Collecting virtualenv>=20.24.2
  Downloading virtualenv-20.25.0-py3-none-any.whl (3.8 MB)
     ---------------------------------------- 3.8/3.8 MB 34.6 MB/s eta 0:00:00
Collecting platformdirs<5,>=3.9.1
  Downloading platformdirs-4.1.0-py3-none-any.whl (17 kB)
Collecting filelock<4,>=3.12.2
  Downloading filelock-3.13.1-py3-none-any.whl (11 kB)
Collecting distlib<1,>=0.3.7
  Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)
     ---------------------------------------- 468.9/468.9 kB 28.7 MB/s eta 0:00:00
Installing collected packages: distlib, setuptools, platformdirs, filelock, certifi, virtualenv, pipenv
  WARNING: The script virtualenv.exe is installed in 'C:\Users\Username\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts pipenv-resolver.exe and pipenv.exe are installed in 'C:\Users\Username\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed certifi-2023.11.17 distlib-0.3.8 filelock-3.13.1 pipenv-2023.11.15 platformdirs-4.1.0 setuptools-69.0.3 virtualenv-20.25.0

 

pipenv 가 설치되면서 필요한 라이브러리들이 같이 설치된다.


Python 설치 및 확인

PS D:\toy_project\test> pipenv --python 3.8
Warning: Python 3.8 was not found on your system...
Neither 'pyenv' nor 'asdf' could be found to install Python.
You can specify specific versions of Python with:
$ pipenv --python path\to\python

 

PS D:\toy_project\test> pipenv --python 3.10
Creating a virtualenv for this project...
Pipfile: D:\toy_project\test\Pipfile
Using C:/Users/User/AppData/Local/Programs/Python/Python310/python.exe (3.10.11) to create virtualenv...
[=== ] Creating virtual environment...created virtual environment CPython3.10.11.final.0-64 in 1414ms
  creator CPython3Windows(dest=C:\Users\User\.virtualenvs\test-XOWj2ta_, 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==23.3.2, setuptools==69.0.3, wheel==0.42.0
  activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

Successfully created virtual environment!
Virtualenv location: C:\Users\User\.virtualenvs\test-XOWj2ta_
Creating a Pipfile for this project...

 

PS D:\toy_project\test> pipenv run python --version
Python 3.10.11

 

프로젝트를 시작할 디렉토리로 경로를 옮기고 파이썬을 설치해보면 3.8 버전은 내 시스템에서 찾을 수 없다고 Warning이 나오면서 설치가 되지 않는다. 로컬에 이미 설치되어있는 파이썬 환경을 가져와서 가상환경을 만들기 때문에 로컬에 설치되어 있는 3.10을 설치하면 가상환경이 잘 만들어지는 것을 확인 할 수 있다.

가상환경에 다른 파이썬 버전을 설치하고 싶다면 로컬에 그 파이썬 버전을 설치하면 된다.

 

PS D:\toy_project\test> cat .\Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]

[dev-packages]

[requires]
python_version = "3.10"
python_full_version = "3.10.11"

 

가상환경을 설치하면 Pipfile이라는 파일이 생기는데 여기서 프로젝트에 사용되는 패키지의 dependency를 관리한다.


Python 패키지 설치 및 제거

PS D:\toy_project\test> pipenv install numpy
Installing numpy...
Resolving numpy...
Installing...
Adding numpy to Pipfile's [packages] ...
Installation Succeeded
Pipfile.lock not found, creating...
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
Success!
Locking [dev-packages] dependencies...
Updated Pipfile.lock (72991d3d48046b15eeaf7962543affa990ae7591b18601dbd4abd9cb6785627b)!
Installing dependencies from Pipfile.lock (85627b)...
PS D:\toy_project\test> pipenv uninstall numpy
Removing numpy from Pipfile.lock...
Removed numpy from Pipfile category packages
Uninstalling numpy...
Found existing installation: numpy 1.26.2
Uninstalling numpy-1.26.2:
  Successfully uninstalled numpy-1.26.2

Locking [packages] dependencies...
Locking [dev-packages] dependencies...
Updated Pipfile.lock (34c67823d0895516cdc008b7a1e9cfbb2ac3da7fcb4b6c292c9e6fcbecc606b7)!

 

"pipenv install numpy" 명령으로 numpy 패키지를 설치하면 Pipfile에 패키지명이 들어가고 Pipfile.lock 파일이 생성됩니다.

반대로 "pipenv uninstall numpy" 명령으로 패키지를 제거하면 패키지가 제거되고, Pipfile에 기록된 패키지명이 사라집니다.

pipenv install

 

Pipfile과 Pipfile.lock 파일을 Github repo에 올리는게 좋다. 다른 누군가가 Pipfile, Pipfile.lock 파일을 clone해서 pipenv install 명령어로 가상환경을 만들고 해당 패키지를 설치한다.


가상환경 진입 & 기존 환경으로 복귀

PS D:\toy_project\test> pipenv shell
Launching subshell in virtual environment...
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

새로운 크로스 플랫폼 PowerShell 사용 https://aka.ms/pscore6

PS D:\toy_project\test> exit

PS D:\toy_project\test> deactivate

 

가상환경을 만들었으면 가상환경으로 진입해서 작업을 해야 합니다.

pipenv shell 명령어로 가상환경에 진입합니다.

 

가상환경에서 나오기 위해 exit 명령어로 나옵니다.

 

가상환경을 비활성화하기 위해서는 deactivate 명령어를 이용합니다.


가상환경에서 파일 실행

pipenv run python main.py
Hello

 

가상환경에서 파일을 생성하고 명령어로 실행시키면 결과가 아래에 출력됩니다.


가상환경 삭제

PS D:\toy_project\test> pipenv --rm
Removing virtualenv (C:\Users\User\.virtualenvs\test-XOWj2ta_)...

 

가상환경을 삭제하면 가상환경이 만들어지는 폴더안에서 test-XOWj2ta 디렉토리가 삭제된다.


가상환경에서 주피터 노트북 사용하기

pipenv install ipykernel
pipenv install jupyter

 

데이터를 가상환경에서 분석하기 위해서 주피터 노트북을 사용하는데 위 명령어로 ipykernel, jupyter 패키지를 설치한다.

python -m ipykernel install --user --display-name [표시할 커널이름] --name [가상환경이름]
jupyter notebook

 

다음으로 주피터 노트북이 실행될 수 있는 커널을 따로 연결해줘야 하는데 위 명령어로 연결해준다. 이를 통해 가상환경내에 설치한 패키지를 주피터 노트북에서 사용할 수 있다.

마지막으로 주피터 노트북을 실행시키고 노트북 화면에서 커널을 선택한다.