건프의 소소한 개발이야기

[Python - 가상환경] Virtualenv 가상환경 자동 실행 (autoenv) 본문

개발 이야기/Python 이야기

[Python - 가상환경] Virtualenv 가상환경 자동 실행 (autoenv)

건강한프로그래머 2016. 8. 10. 19:07

안녕하세요. 건프입니다.


파이썬에서 virtualenv 를 이용해 패키지 관리를 하다보면 느끼는 불편함이 있습니다. (가상환경이 왜 필요한지, 어떻게 설치하는지는 여기서 다루지 않겠습니다.)


해당 폴더에서는 해당 가상환경을 항상 사용하는데, 매번 source *****/bin/activate 를 불러줘야 한다는 거죠.


이것을 터미널의 스크립트로 미리 작성해서


해당 폴더를 접근할 때 자동으로 해당 환경을 실행시켜 줄 수 있습니다.


어떻게? 이렇게


1. autoenv 를 설치합니다.

맥에서는

> brew install autoenv

로 설치가 가능합니다.


2. 매 세션마다 autoenv 를 자동으로 실행하기 위해서 bash_profile 에 등록해줍니다.

> echo 'source /usr/local/opt/autoenv/activate.sh' >> ~/.bash_profile

이렇게 하면 .bash_profile 의 기존의 내용을 해치지 않고 뒤에 들어가게 됩니다.



3. autoenv 사용하기

 autoenv 를 사용하는 방법은 다음과 같습니다.

위와 같이 bash_profile 에 autoenv 가 추가되었기 때문에, 

autoenv 는 사용자가 폴더를 옮길때마다, 

해당 폴더에 .env 파일이 존재하는지 확인하고 존재한다면, 그 안의 스크립트의 내용을 실행시킵니다.


따라서 우리는 이 파일에 원하는 내용을 넣으면 되겠죠.

예를들어 source ***/bin/activate 같은 ? 



처음에 사용할때는 한번 물어보고, y 를 하면 그 다음부터는 물어보지않고 스크립트가 실행이 됩니다.


유용하겠죠?ㅎㅎ


이는 AWS에서 해당 폴더를 들어가자마자 서버가 리세팅 되도록 한다던가, 새로 코드를 받는다던가, 이런 식으로 응용을 할 수 있을 것 같습니다. 


도움이 되었길 바랍니다.


고맙습니다 :)


참조 : 


https://dobest.io/how-to-set-python-dev-env/

https://github.com/kennethreitz/autoenv/blob/master/activate.sh


Comments