12 ตุลาคม 2557

Published ตุลาคม 12, 2557 by with 1 comment

ใช้ virtualenv แก้ปัญหา Python หลายเวชั่น

virtualenv เป็นเครื่องมือหนึ่งที่ใช้แยก environment ของแต่ละงาน Python ออกจากกัน เป็น environment เสมือน เพราะในบางครั้งคุณต้องการใช้ Python หลายเวชั่น ถ้าติดตั้งทุก version ในเครื่อง จะทำให้เกิดปัญหาการตีกันของ library ซึ่ง virtualenv สามารถช่วยแก้ไขปัญหานี้ได้อย่างดี
ถ้าคุณต้องการใช้ Python 2 , 3 สามารถใช้ virtualenv แยก environment งานออกจากกันได้ virtualenv เขียนขึ้นโดยนักพัฒนาที่มีชื่อว่า Ian Bicking
virtualenv รองรับ Python 2.6+ และ Python 3.X

การติดตั้ง virtualenv บน Python

เปิดคอมมานด์ไลน์ใช้คำสั่ง pip สั่งให้ติดตั้ง
pip install virtualenv

การใช้งาน virtualenv
สร้าง virtualenv โดยใช้คำสั่ง (py34 คือ ชื่อ virtualenv ที่สร้าง ผู้อ่านสามารถเปลี่ยนชื่อได้ครับ)
virtualenv py34
เสร็จแล้วเข้าไปเรียกใช้ virtualenv ที่สร้างโดยใช้คำสั่ง
สำหรับลินุกซ์และยูนิกซ์
source py34/bin/activate
สำหรับบน Windows
.\py34\scripts\activate
เมื่อสั่งเรียกใช้งาน virtualenv ที่สร้าง แล้วจะพบกับ
(py34)$ 
ผู้อ่านสามารถใช้คำสั่ง Python ได้ตามใจครับ
(py34)$ pip install django

virtualenvwrapper

virtualenvwrapper เป็นชุดคำสั่งที่ช่วยให้เราเรียกใช้งาน virtualenv ที่เราสร้างขึ้นได้อย่างง่ายดาย
การติด virtualenvwrapper บน Python

เปิดคอมมานด์ไลน์ใช้คำสั่ง pip สั่งให้ติดตั้ง
สำหรับบนลินุกซ์และยูนิกซ์
pip install virtualenvwrapper
สำหรับบน Windows
pip install virtualenvwrapper-win

เมื่อสั่ง pip ติดตั้งเสร็จแล้ว สำหรับบนลินุกซ์และยูนิกซ์ต้องมีการตั้งค่าเพิ่ม โดยใช้คำสั่ง
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
export PIP_VIRTUALENV_BASE=$WORKON_HOME

การใช้งาน virtualenvwrapper
สร้าง virtualenv โดยใช้คำสั่งของ virtualenvwrapper ใช้โค้ดดังต่อไปนี้
mkvirtualenv py3
เมื่อสร้างเสร็จแล้วเราจะมาอยู่ใน virtualenv เลยครับ
(py34)$ 
เราสามารถเรียกใช้ virtualenv ได้อย่างง่ายดาย โดยใช้คำสั่ง
workon py34
แค่นี้เราจะกลับเข้าไปใน virtualenv ที่เราสร้างได้แบบง่าย ๆ
คำสั่งการใช้งาน  virtualenvwrapper
  • mkvirtualenv (สร้าง virtualenv ใหม่ )
  • rmvirtualenv (เอา virtualenv ที่มีอยู่ออก )
  • workon (เปลี่ยน virtualenv ปัจจุบัน )
  • add2virtualenv (เพิ่มแพคเกจภายนอกในไฟล์ . / virtualenv ปัจจุบัน )
  • cdsitepackages (เข้าไปในพื้นที่ไดเรกทอรีของแพคเกจ virtualenv ปัจจุบัน )
  • cdvirtualenv (เข้าไปในรากของ virtualenv ปัจจุบัน )
  • deactivate (ปิด virtualenv)

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

1 ความคิดเห็น:

  1. ขอบคุณมากๆครับ บทความเป็นประโยชน์มาก

    ตอบลบ

แสดงความคิดเห็นได้ครับ :)