--- layout: post status: publish published: true title: 'การติดตั้ง Django: 101' author: display_name: 'sipp11' date: '2013-10-26' categories: - coding tags: django 101 thai python --- จริงๆแล้วการติดตั้งก็ไม่ได้มีวิธีเดียวครับ แต่การติดตั้งข้างล่างนี้จะเป็นการติดตั้งโดยใช้ `virtualenv` ด้วยซึ่งจะทำให้ package แยกกันโดยอิสระในแต่ละ project ที่เราทำงานครับ เวลาลบก็ลบง่าย เพราะไม่เกี่ยวกับระบบเลย จะเป็นการติดตั้งสำหรับแค่ตัวเราเท่านั้น * [การติดตั้ง Django สำหรับ OSX](#django-for-osx) * [การติดตั้ง Django สำหรับ Linux (Debian-based)](#django-for-debian) ### Django for OSX สิ่งที่จำเป็นต้องมี คือ HomeBrew ถ้ายังไม่มีสามารถติดตั้งผ่าน Terminal โดยพิมคำสั่งตามนี้ $ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" หลังจากติดตั้ง brew แล้ว เราก็มาเริ่มลงสิ่งที่จำเป็นในชีวิตกันครับ $ brew install git mercurial หลังจากนั้นก็ติดตั้ง database ตามชอบใจ ถ้าใช้ MySQL $ brew install mysql ถ้าใช้ PostgreSQL $ brew install postgresql ต่อมาก็ลงเรื่องของ python กันต่อครับ สิ่งที่จำเป็นในชีวิตของ python ก็คือตัวหาและลง library ที่มีอยู่เยอะแยะมากมาย $ sudo easy_install pip `easy_install` เป็น package manager ตัวนึงของ python ที่เดี๋ยวก็ไม่ค่อยจะใช้กันแล้วเพราะ `pip` ทำได้ดีกว่ามากๆ ที่เราต้องใช้ `easy_install` นั้นเพราะเราไม่มี package manager อื่นที่มี `pip` กันเลยทีเดียวใน OSX ก็เลยต้องใช้มันลง `pip` ก่อน ส่วนการใช้ sudo ผมคิดว่าน่าจะเหมาะสมแล้วเพราะ `pip` ก็เป็น package manager ตัวนึงไม่น่าที่จะต้องทำให้แบ่งตาม user และสิ่งที่เราต้องทำต่อไปคือ เราต้องทำต่อไปคือ ลง `virtualenv` $ sudo pip install virtualenv virtualenvwrapper ส่วนนี้ก็ยังลงในระบบกันต่อไป เพราะประเด็นเราคือแยก แต่ละ `virtualenv` ตามแต่ละ project เราจะต้องทำให้ command shell เรารู้จัก `virtualenv` ด้วยการใส่ใน `~/.bash_profile` # python virtualwrapper export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh แล้วก็ $ source ~/.bash_profile เพื่อให้ command shell เรารับสิ่งที่เราใส่ไปครับ เท่านี้เครื่องของเราก็พร้อมที่จะใช้งาน django กันแล้ว หลังจากนี้เราก็ทำการสร้าง `virtualenv` กันครับ $ mkvirtualenv django # จริงๆ จะเป็นชื่ออะไรก็ได้นะครับ ตามใจตรงนี้ เท่านี้เราก็แทบจะเรียกว่า เครื่องเราพร้อมกับการใช้ django แล้วครับ ถึงเวลาเริ่มจริงๆแล้ว $ workon django (django)$ pip install django (django)$ mkdir -p project (django)$ cd project (django) project$ ./manage.py runserver เป็นอันเสร็จสมบูรณ์ ### Django for Debian ก็จะเป็นแค่สำหรับ distro ที่เป็น debian นะครับ เพราะปกติผมก็ใช้ debian เป็นหลักครับ เช่น Debian, Ubuntu, Mint, ... ถ้าเป็น Arch หรือ Fedora หรืออย่างอื่นก็จะมีคำสั่งต่างกันออกไปเล็กน้อยนะครับ ก่อนอื่นก็ลงโปรแกรมที่จำเป็นต่อชีวิต $ sudo apt-get install build-essential git mercurial python-pip python-dev มันก็แล้วแต่จะใช้ database อะไรนะครับ * `SQLite` ก็ไม่ต้องทำอะไรเพิ่มเติม * `MySQL` $ sudo apt-get install mysql-server $ sudo apt-get build-dep python-mysqldb * `PostgreSQL` $ sudo apt-get install postgresql $ sudo apt-get build-dep python-psycopg2 ติดตั้งกันต่อ คราวนี้เป็น `virtualenv` ครับ $ sudo pip install virtualenv virtualenvwrapper หลังจากนั้นก็ต้องใส่ `virtualenv` path หน่อย เพื่อให้เราใช้งานมันง่ายๆ $ vi ~/.bashrc เพิ่มบรรทัดนี้ด้านล่าง # python virtualwrapper export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh จากนั้นก็ reload ซักที $ source ~/.bashrc จริงๆแล้ว อาจจะใช้ `nano` แทน `vi` ก็ได้ครับ แต่เชื่อเถอะครับ ถ้ายังไม่เคยใช้ `vi` ลองทนใช้ดูแล้วจะไม่อยากใช้อย่างอื่นอีกเลย หลังจากนี้เราก็ทำการสร้าง `virtualenv` กันครับ $ mkvirtualenv django # จริงๆ จะเป็นชื่ออะไรก็ได้นะครับ ตามใจตรงนี้ เท่านี้เราก็แทบจะเรียกว่า เครื่องเราพร้อมกับการใช้ django แล้วครับ ถึงเวลาเริ่มจริงๆแล้ว $ workon django (django)$ pip install django (django)$ mkdir -p project (django)$ cd project (django) project$ ./manage.py runserver เป็นอันเสร็จสมบูรณ์