ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Anaconda] 파이썬 프로젝트 관리를 위한 Conda 가상환경 만들기
    Python/Anaconda 2023. 4. 6. 08:11
    반응형

    파이썬 프로젝트 관리를 위한 Conda 가상환경 만들기


    파이썬뿐만 아니라, 프로젝트마다 가상환경을 하나씩 만들어 두는 것은 중요합니다. 각 프로젝트마다 필요한 패키지를 깔다 보면, 버전 충돌 문제가 자주 일어나거든요. 파이썬 패키지를 만드는 만드는 개발자들이 업데이트를 재깍재깍 해 주면 그것이 최선이겠지만, 그분들도 패키지 하나 수정한다고 해서 먹고 살 돈이 나오는게 아니니까 우리들이 맞춰서 써야 합니다.

     

     

    그래서, 파이썬 개발을 할 때는 가상환경을 잘 만들어야 합니다. 대개 프로젝트에 따라서 필요한 패키지만 깔아둔 가상환경을 꾸려 놓고, 재현성을 우선하는 선택을 합니다. 여기서 가상환경이란, 컴퓨터 안에 독립적인 공간을 만들어 두는 것을 이르는데요, 이 덕분에

     

     

    • A 프로젝트에서는 파이썬 3.7버전을 쓰고,
    • B 프로젝트에서는 파이썬 2.7버전을 사용하는 등의 활용을 할 수 있지요.

     

     

    물론, 패키지 버전도 마찬가지로 독립적으로 관리됩니다.

     

     

    그래서, 이런 가상환경을 만드는게 항상 이득이냐면 그건 아닙니다. 프로젝트를 새로 만들 때마다 가상환경을 하나씩 만들면 가상환경이 뭐가 있는지 헷갈리기 시작하고, 디스크 용량도 그만큼 잡아먹기 때문이죠. 그래서, 저는 통합 개발환경을 하나 만들어 둔 뒤 완성된 프로젝트 또는 패키지의 의존성 문제가 생기는 프로젝트를 분리하는 방식으로 관리합니다. 이건 개인 취향이니 손에 맞는대로 해 보세요.

     

     

    자, 그래서 파이썬 가상환경은 어떻게 만드느냐, 이건 크게 두 가지 방법이 있습니다.

     

     

    1. virtualenv를 이용한 가상환경
    2. conda를 이용한 가상환경

     

     

    이렇게 두 개 말이죠. 각각의 방법 중 어떤게 더 낫다 하는건 없습니다만, 저는 예전부터 conda 가상환경을 만들어 왔으니 이걸 기준으로 설명드리도록 하겠습니다. 준비물은 별거 없고, Anaconda 또는 miniconda를 설치해 두기만 하면 됩니다.

     

     

    방법은 엄청나게 간단합니다. cmd 또는 bash를 연 다음, 가상환경의 이름을 대면서 만들겠다고만 해 주면 됩니다. 저는 kobert를 시연하고 싶어서 파이썬 3.8 기반의 kobert 가상환경을 하나 만들어 봤습니다. 이 때는 아래와 같은 명령어를 입력해 주면 됩니다.

     

     

    $ conda create -n kobert python=3.8

     

     

    여기서 kobert 부분을 원하는 이름대로 바꾸고, python=3.8 부분에 원하는 파이썬 버전을 입력해주면 됩니다. 그리고, 여기에 원하는 패키지 리스트를 입력해서 일괄 설치해 주는 기능같은게 있는데요, 내가 실행할 프로젝트에 requirements.txt 파일이 있다면 아래와 같이 명령어를 실행해 보면 되겠습니다.

     

     

    • 만약 pip로 패키지 관리를 하고 싶다면 가상환경을 활성화한 다음에 $pip freeze > requirements.txt 라고 입력해 주시고,
    • 만약 conda create 명령어와 같이 실행하고 싶다면, conda create 명령어와 같은 줄에 --file requirements.txt 라고 덧붙여 주시면 되겠습니다.

     

     

    이렇게 가상환경을 만든다고 명령어를 실행하면, 뭐라뭐라 메시지가 뜨다가 계속 진행할거냐고 물어봅니다. 당연히 가상환경을 만들거니까 y를 입력한 다음 기다려 주세요.

     

     

    다음에는 아래와 같은 메시지가 뜰때까지 기다리면 끝입니다.

     

     

     

     

    이 메시지를 보면 아시겠지만, 가상환경을 만든다고 끝이 아니라, 가상환경에 들어가 줘야 사용을 할 수 있습니다. GUI 환경이라면 실행파일을 더블클릭하면서 관리할 수 있었겠지만, CLI에서는 명령어를 따로 입력해 줘야 합니다. 파이썬 가상환경의 실행, 종료는 위에서 알려준대로 입력하면 됩니다.

     

     

    • 만약 kobert라는 이름의 가상환경을 실행한다면, $ conda activate kobert
    • 현재 가상환경에서 빠져나오려면, $ conda deavtivate

     

     

    이렇게 입력을 하면 됩니다.

     

     

    만약에, 가상환경을 많이 만들었거나 만든지 오래되어서 이름을 잊어버렸다면, 아니면 만들어둔 가상환경이 더이상 쓸모 없어져서 지우고 싶다면 따로 리스트업이나 삭제를 할 수 있어야겠죠? 이럴때는 아래 코드를 참고해서 관리를 할 수 있습니다.

     

     

    • 현재 만들어진 가상환경을 리스트업 하려면, $ conda env list
    • kobert라는 이름의 가상환경을 지우려면, $ conda env remove -n kobert

     

     

    이렇게 가상환경 관리를 해 둔다면, 여러 패키지를 관리할 때 조금 더 편리하게 이용할 수 있습니다. 특히, 여러가지 패키지를 불러오기 때문에 종속성 문제가 심한 딥러닝 관련 프로젝트라면 가상환경을 만들어두는게 필수입니다. 하나의 개발환경에서 여러 프로젝트를 돌리다 보면, 어떤 코드를 실행하고 나서 잘 되던 코드가 갑자기 동작하지 않는 분제가 빈번하게 발생하기 때문이지요.

    반응형

    'Python > Anaconda' 카테고리의 다른 글

    [Anaconda] 파이썬 개발을 위한 아나콘다 설치하기  (0) 2023.04.11

    댓글

문의: jwkang3929@naver.com