ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬에서 가상환경을 쓰는 이유
    concept/python 2020. 7. 28. 22:21

    가상환경을 쓰는 이유

    파이썬을 처음으로 시작하며 느낀 점은 처음 설정이 굉장히 복잡하다는 것이다.

    node.js를 쓸 때는 그냥 npm install만 하면 됐었는데

    파이썬에서는 뭐 venv, source 이런걸 써서 가상환경을 만든 후에 작업을 해야한다.

    그러다보니 가상환경이라는 것을 왜 설정하는지 궁금해졌다.

     

     

    먼저 가상환경(virtual environment)이란 독립된 공간을 만들어주는 기능 이다.

     

     

    가상 환경에서 pip로 패키지를 설치하면 가상 환경 폴더(디렉터리)의 Lib/site-packages 안에 패키지를 저장한다 (npm의 package.json과 같은 기능)

    즉, 프로젝트 A와 B 각각 가상 환경을 만들어서 프로젝트 A에는 패키지 버전 A를 설치하고, 프로젝트 B에는 패키지 버전 B을 설치할 수 있다.

    따라서, 이 프로젝트만을 위해서 설치한 패키지가 무엇인지 쉽게 확인하고 테스트 할 수 있게 된다.


    즉 가상환경은 프로젝트와 그 프로젝트에 사용된 패키지들을 언제나 한 묶음으로 움직일 수 있게 해주는 역할!

     

     

     

     

    가상환경을 만드는 방법

    Python에서 가상환경을 만드는 방법은 크게 2가지로 virtualenv와 conda를 사용한다.

    여기서 virtualenv를 위주로 설명해보려 한다.

     

     

    먼저 pip install을 통해 가상환경을 설치한다.

    # install virtual Env.
    pip install virtaulenv

     

    virtualenv를 성공적으로 설치하면, virtualenv 명령어를 통해 가상환경을 만들 수 있다.

    만들어진 가상환경은 source 명령어와 함께 가상환경 경로로 들어가서 Scripts 폴더의 activate를 실행시켜 활성화시킬 수 있다.

    # Creating virtual env.
    virtaulenv ${venvName}
    
    # Activating virtual env.
    source ${path/to/env}/bin/activate

    그 후에 자신이 원하는 모듈을 설치하면 된다.

     

    추가로 가상환경을 종료하는 명령어는 deactivate이다.

    # deactivating virtual env.
    deactivate

     

     

     


    참고 : 가상 환경 폴더를 다른 곳으로 이동시켰다면?

    가상 환경을 사용할 때 주의할 점이 있는데,

    가상 환경을 만들고 나서 폴더(디렉터리)를 다른 곳으로 이동시키면 활성화가 안 된다.

    가상 환경을 활성화하는 activate.bat, Activate.ps1, activate 파일 안에

    현재 가상 환경 폴더의 경로가 내장되어 있기 때문인데

    만약 가상 환경 폴더를 다른 곳으로 이동시켰다면 

    activate.bat, Activate.ps1, activate 파일 안의 VIRTUAL_ENV 부분을 이동시킨 폴더 경로로 수정해주어야 한다!

    'concept > python' 카테고리의 다른 글

    에러를 raise해서 처리하는 방법  (0) 2020.07.28
    python-django 간단하게 배우기  (0) 2020.07.16

    댓글

Designed by Tistory.