วันพุธที่ 5 มิถุนายน พ.ศ. 2556

Prepare environment for python programming

สวัสดีครับ วันนี้ผมจะขอมาเขียนในหัวข้อการเตรียม Virtual Environment(venv) สำหรับการเขียนภาษา python

คำถาม: venv คืออะไร ดีอย่างไร จำเป็นต้องทำหรือไม่ ?

คำตอบ: venv เป็นการจำลองสภาพการทำงานในการเขียนภาษา python ครับ ขอยกตัวอย่าง สมมุติผมสร้าง venv ขึ้นมาใหม่และได้ลง python3.3 และลง framework pyramid1.4 หากระบบได้ทำการอัพเกรดเป็น python3.4 ไปแล้ว งานของเราที่อยู่ใน venv ก็ยังคงใช้ python3.3 และ pyramid1.4 เช่นเดิม เนื่องจากงานของเราได้สร้างไว้ใน venv ที่เราได้สร้างขึ้นมา สำหรับข้อดีคือ หาก library ใหม่ได้ถอนชุดคำสั่งเก่าบางคำสั่งออกไป จะทำให้เราสามารถใช้งานlibrary นั้นต่อไปได้(เนื่องจากอยู่ใน venv ที่ได้สร้างไว้แล้ว)

$ pyvenv-3.3 pyramid/pyramid-1.4
#หากใช้ python ก่อนหน้าเวอร์ชั่น3.3 จะไม่มีคำสั่ง pyvenv-3.3 (Python Virtual Environment 3.3 ) โดยที่คำสั่งนี้จะทำการสร้าง Virtual Environment ใน Directory pyramid/pyramid1.4

$ source pyramid/pyramid-1.4/bin/activate
# ทำการเปิดใช้ venv นี้ หากต้องการยกเลิกการใช้งาน venv ต้องสั่ง deactivate
# source มีค่าเท่ากับ . เอาไว้สั่ง Shell Script ให้ทำงาน (activate เป็น Shell Script)

หลังจากนี้จะเป็นการติดต้ัง api ต่างๆ เช่น pyramid api ซึ่งเป็น Web framework api

$ curl http://python-distribute.org/distribute_setup.py
# Download Script สำหรับติดตั้งปลั๊กอินเพิ่มเติม โดย distribute_setup.py ทำให้ venv มีคำสั่งสำหรับ install package อื่น (คำสั่ง easy_install)

$ python distribute_setup.py
# Run Script นี้แล้วจะสามารถทำให้ใช้คำสั่ง easy_install ได้

$ easy_install-3.3 pip
# ทำการติดตั้ง python install package ไว้สำหรับติดตั้ง python plugin ต่างๆ
# สามารถใช้ easy_install ติดตั้ง python plugin ได้เช่นกัน แต่ว่า easy_install เมื่อทำการติดตั้งไปแล้ว
จะไม่สามารถถอนการติดตั้งได้ คำสั่ง pip (python install package) เป็นคำสั่งใหม่กว่า หาก plugin มีปัญหา
สามารถถอนการติดตั้งได้

$ pip install pyramid
# ติดตั้ง pyramid framework ซึ่งเป็น framework สำหรับช่วยพัฒนาเว็บ ติดตามรายละเอียดเพิ่มเติมที่ http://www.pylonsproject.org/

$ pcreate -s starter myexample
# สร้าง Project ชื่อ myexample

$ python setup.py develop
คำสั่งนี้จะทำการติดตั้งโปรเจคที่ได้สร้างขึ้น เราจำเป็นต้องใส่คำสั่ง develop หากการติดตั้งของเราอยู่ในกระบวนการพัฒนาอยู่ แต่หากเมื่อนำไปใช้จริง ให้ใส่คำว่า install แทน develop เนื่องจาก option install นั้นจะทำการ Copy Source code จาก current directory ไปยัง main directory ซึ่งหากเราใช้ virtual env ก็จะเข้าไปอยู่ใน env นั้น ทำให้เมื่อเราเปลียนแปลง source code ใน Current directory จะทำให้ไม่มีผลต่อโปรแกรมที่รัน เพราะว่ามันจะหา package หลักจากในตัว env ก่อนซึ่งเราก็ได้ติดตั้งลงไปแล้ว แต่ถ้าใช้ develop มันก็สร้างเพียงแค่ link ไปยัง Current directory
หากเราทำการติดตั้งลงไปแล้วด้วย install เราสามารถ uninstall ได้ แล้วสั่ง develop ใหม่ได้

$ cd myexample
# สามารถเข้าไปดู directory ที่สร้างได้

$ git init
# Set as config as pydev


หากต้องการรันโปรเจคที่ได้สร้างขึ้นมา ก็ให้ใช้คำสั่ง
$ pserve --reload development.ini

โดยคำสั่งนี้จะทำการจำลอง server ขึ้นมาครับ ส่วนตัวเลือก --reload นั้นมีไว้สำหรับเมื่อเราเปลี่ยนแปลงไฟล์ใดๆ ที่ใช้ในการเขียน มันจะทำการ reload server ให้ใหม่ครับ

สุดท้ายนี้ต้องขอบคุณพี่โบ๊ต(sdayu.blogspot.com) ที่สอนการติดตั้ง venv ครับ :)



ไม่มีความคิดเห็น:

แสดงความคิดเห็น