|
|
|
|
---
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
เป็นอันเสร็จสมบูรณ์
|