개발환경을 설정해두는 것은 항상 반복하는 일이긴 하지만
하면 할 수록 매우매우 중요하다고 느낀다

특히 가상환경을 이해하고 활용하는 것너무너무 중요하게 느껴진다

실무에서 또는 고단수 개발자들이 어떤 가상환경 패키지를 쓰는진 모르지만
내가 가장 자주 사용하는 것은 virtualenv이다

설치는 매우 간단하다
파이썬을 설치하고 pip를 통해 설치하면 된다

📌 #python2
	$ pip install virtualenv
   #python3
   	$ pip3 install virtualenv
  • 📌 $ virtualenv venv
    명령어를 실행하는 디렉터리에 가상환경을 구성한다
    venv는 바꿔도 된다
    가상환경에서 사용할 패키지들이 설치되는 공간이름을 정하는 것이다
    일반적으로 venv라는 폴더이름으로 통용되는 듯하다
    나도 보통은 venv로 설정한다

    위 스크린샷은 내가 아무 폴더나 만들어서
    📌 $ virtualenv venv 명령어를 실행한 결과이다
    venv 디렉터리가 생성된 것을 볼 수 있다

  • 이제 가상환경으로 들어갈 차례다
    venv 폴더가 생성된 디렉터리에서 명령어를 입력한다
    📌 $ source venv/bin/activate

    가상환경에서 빠져나오기 위해서는
    📌 $ deactivate 만 입력하면 된다

    venv/bin/activate 디렉터리에 직접 들어가서
    $ source activate를 입력해도 실행된다


    (venv)로 명령어 입력이 시작되면 정상적으로 구성 및 실행을 완료한 것이다

    ✍ 가상환경을 실행하면 venv내에 설치된 패키지들만 사용할 수 있다

    django를 일반환경에서 설치해서 사용했다 해도 가상환경에 진입하여 django를 실행하면 설치되지 않았다는 결과가 나올 것이다
    가상환경 즉 venv 디렉터리 내에는 존재하지 않기 때문이다

    가상환경을 실행한 상태에서 설치한 모든 것들은 venv디렉터리에 저장된다

    따라서 일반환경과 현재 개발환경을 격리할 수 있게 된다

    이걸 이해하는 것이 정말정말 중요한 것 같다


예시를 들어보자
home/user/dal 디렉터리에서 가상환경을 구축하고 venv폴더이름을 dalenv로 정하겠다
virtualenv dalenv
그리고 이 home/user/dal 디렉터리에서
$ source dalenv/bin/activate 명령어를 통해 가상환경에 진입하여 flask를 설치했다

그러고 나서 deactivate 명령어로 일반환경으로 전환한다

이번엔 home/user/byeol 디렉터리에서 가상환경을 구축하고 venv폴더이름을 byeolenv로 정하겠다
virtualenv byeolenv
그리고 이 home/user/byeol 디렉터리에서
$ source byeolenv/bin/activate 명령어를 통해
가상환경에 진입하여 django를 설치했다

그러고 다시 deactivate 명령어로 일반환경으로 전환한다

내가 일반환경에 flaskdjango를 설치하지 않은 상태라고 가정한다
일반환경에서 flaskdjango가 실행될까?

실행되지 않는다

flaskdalenv 가상환경에 진입했을 때만 실행될 것이다
djangobyeolenv 가상환경에 진입했을 때만 실행된다

반대로 dalenv 가상환경에 진입하여 django를 실행해본다면 어떻게 될까?
마찬가지로 실행되지 않는다
djangobyeolenv 가상환경에 설치했기 때문이다

이 정도면 이게 어떻게 돌아가는지 제대로 이해할 수 있을 것이다

가상환경이란 우리가 하고자 하는 작업에 따라 패키지나 언어 버전을 맞춰놓을 수 있다
그렇기에 적응만 잘하면 굉장히 유용하게 사용할 수 있을 것 같다

보통 어떤 프로젝트를 진행하면서 그 프로젝트에 대한 환경구성을 명확하게 알아보기 위해
해당 프로젝트의 디렉터리에 venv를 두는 것 같다

그렇게 해두면 여러 개의 프로젝트를 동시에 진행하고 여러 개의 가상환경을 만들게 될지라도
프로젝트 폴더의 최상위 디렉터리에 venv를 구성했다는 규칙이 생기므로 복잡한 생각을 하지 않아도 된다

물론 프로젝트 규모가 커질 때는 어떻게될지 나는 모르겠다
하지만 지금은 지금 하는 방법만으로 충분히 편하다

가상환경을 이용하면서 여기에 git을 조금만 다룰 줄 알면
더더더욱 편해진다

애초에 가상환경에서는 코드나 패키지가 꼬이고 망해서 해당 가상환경을 밀어버린다 해도 일반환경에는 영향을 주지 않는다는 장점이 있다

여기에 git을 사용해서 가상환경 내의 코드 버전도 관리하게 되면?

가외성까지 확보할 수 있다

종합하자면

  • 파이썬 설치
  • 곧바로 virtualenv 설치
  • virtualenv로 프로젝트 폴더에 가상환경부터 구성
  • 편안 & 안전

이것만 해둬도 크게 망할 일은 없다고 생각된다


가상환경을 너무 자주 쓰다보니 가끔 일반환경에도 어떤 패키지가 설치된 줄로 헷갈릴 때가 있다

당연히 아무 상관이 없다
일반환경에도 인스톨하면 되지

아무튼 가상환경이 뉴비에게 정말정말 좋다
고수들에게도 좋은지는 모르겠다 난 고수가 아니니까
뉴비들은 꼭 익숙해지도록 합시다 진짜 좋습니다!

여기까지 해두면 기본적인 건 끝
파이참 설치는 이 다음 포스팅에서 하는 걸로

오늘 진행한 튜토리얼에서 타자연습만 한 것 같다
하라는 대로 해서 만들어놓긴 했지만
정리가 안 된 부분이 너무 많아서 정리하고 포스팅을 해야겠다

역시 책이 제일 좋다

0개의 댓글