Skip to content

ใช้ 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 py34

เมื่อสร้างเสร็จแล้วเราจะมาอยู่ใน virtualenv เลยครับ

(py34)$

เราสามารถเรียกใช้ virtualenv ได้อย่างง่ายดาย โดยใช้คำสั่ง

workon py34

แค่นี้เราจะกลับเข้าไปใน virtualenv ที่เราสร้างได้แบบง่าย ๆ
คำสั่งการใช้งาน  virtualenvwrapper

  • mkvirtualenv (สร้าง virtualenv ใหม่ )
  • rmvirtualenv (เอา virtualenv ที่มีอยู่ออก )
  • workon (เปลี่ยน virtualenv ปัจจุบัน )
  • add2virtualenv (เพิ่มแพคเกจภายนอกในไฟล์ . / virtualenv ปัจจุบัน )
  • cdsitepackages (เข้าไปในพื้นที่ไดเรกทอรีของแพคเกจ virtualenv ปัจจุบัน )
  • cdvirtualenv (เข้าไปในรากของ virtualenv ปัจจุบัน )
  • deactivate (ปิด virtualenv)

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