본문 바로가기

프로그래밍/Django

[django] django 서버 구동, virtualenv(venv) 요약정리

반응형

요 몇일 재미삼아 django(이하 장고)를 건드리면서.. 개인적으로 가장 헷갈리는 부분인 서버 구동과 가상환경 (virtualenv) 에 관한 내용이다.

일단 django 2.0이 되면서 기존의 튜토리얼 코드가 작동되지 않을수 있다. (주로 url.py) 그래서 설치할때 의존성(특히 버전)에 유의해야한다.

그리고 처음 시작한다면 가상환경에 대해 이해가 가지 않을 수 있는데. 내가 해보면서 느끼는건 파이썬으로 여러가지를 사용할때 가상환으로 분리하지 않으면 장고가 메인의 자리를 차지 (??) 해서 가상환경을 설치하고 그곳에 장고만을 위한 라이브러리를 설치해서 환경을 분리 하는 것 같다. (모든 가상환경 이라는 것이 대강 이런 필요로 사용되지만..) 그리고 온전한 파이썬에선 맥 리눅스와 다르게 윈도우는 첫 명령어도 다르다. 여하튼 여러 이유로 가상환경을 사용하면 플랫폼의 차이 라던가.. 의존성 분리에 있어서 자유로워 질것이다.

예시)

맥 리눅스

$ python3 


윈도우 

$ py -3 

그리고 파이썬3로 넘어오면서 venv 라는 가상 환경이 기본적으로 깔린다고 한다. 그래서 그거 쓰면 될거같고.. 가상환경을 설치하고 생성 한뒤.. 활성화 시키고 접속해서 가상환경 내부에서 파이썬 라이브러리를 올려주는 작업을 하면 된다. (이게 초보자가 삽질하기 좋다. 특히 윈도우에서 한다면 미묘하게 명령어가 달라져서 가상환경에 못들어가고 기본 파이썬에 라이브러리를 설치하는 삽질을 ㄷㄷ)


가상환경 설치후 생성은

python3 -m venv 가상환경이름

위 명령어를 이용하면 되고. 


활성화는

가상환경이름\Scripts\activate

로 하면 된다. 가끔 윈도우 10.. 특히 vscode 같은 곳에선 .bat 을 붙여줘야 활성화가 된다. (PowerShell에선 또 배치를 안붙여도 잘되기도 한다 (??))


제대로 활성화를 시켰다면

$ (가상환경이름)> __

이런 상태로 바뀌어야 한다. 이렇게 바뀐게 아니라면 가상환경 활성화를 제대로 한게 아니니 라이브러리를 설치하면 기본 파이썬에 설치하게 되므로 주의


가상환경 활성화를 제대로 했다면 

$pip install     명령어를 이용해 필요한 설치하고 튜토리얼을 따라가면 된다.




개발서버 구동은

$ python manage.py runserver

명령어 일테고 heroku라던가 파이썬 무료 호스팅을 지원하는 사이트들에 코드를 올리고 deploy 하는 가이드도 있을텐데...

그건 그 호스팅 사이트들이 명령어를 조금씩 바꿀수도 있으니.. 나머지는 그 사이트의 문서들을 참조하면 될듯하다.


일단은 장고1의 튜토리얼이 굉장히 많은듯 한데.. 2에서 url.py에서 더이상 정규표현식을 필수로 사용하지 않아도 되서.. 익숙해지면 나쁘지 않을듯 하다.

(다행히도 2로 넘어가면서 정규표현식을 아예 없앤것도 아니기 때문에.. 큰 문제는 아닐듯)




참고 및 인용 사이트


https://medium.com/도서-파이썬-웹프로그래밍-실전편-요약/chapter-6-가상-환경-사용하기-새롭게-정리-30d5940de012

https://docs.djangoproject.com/ko/2.0/intro/tutorial01/

https://tutorial.djangogirls.org/ko/django_installation/

https://developer.mozilla.org/ko/docs/Learn/Server-side/Django/development_environment


반응형