📒
Knowledge-Base
  • Knowledge Base
  • Tutorials
    • Python
      • Introduction
      • Important basic syntax
      • Awesome Python
      • Python 101
      • Python Cheat sheet
      • โครงสร้างของภาษา
      • Library & Package
      • Variable & Data Types
      • Lists
      • Dictionary
      • Function
      • Built-in Function
        • enumerate()
      • Modules
      • Classes & Objects
      • Inheritance
      • Date & Time
      • การใช้งาน Virtualenv
    • Pandas
      • Learning Pandas Second Edition
        • 2. Running with pandas
        • 3. Data with the Series
        • 4. Create DataFrame
        • 5. Manipulating DataFrame Structure
  • e-Book
    • Tech
      • Automate the Boring Stuff
      • A Whirlwind Tour of Python
  • Innovation & Tech
    • Python
    • Pandas
      • 10 Pandas tips
    • Web Scraping
      • Web Scraping 101
      • Requests and BeautifulSoup
  • Industry
    • 20 แนวคิดขายของออนไลน์
    • แผนระยะยาวของ Toyota
    • โลกหลังยุคโลกาภิวัฒน์
  • Opinion
    • บรรยง พงษ์พานิช: กับดักรัฐราชการ 4.0
    • ปัญญาภิญโญ ณ Wongnai WeShare
    • ประเทศไทยในความคิด ความคิดในประเทศไทย
    • การสถาปนา ‘รัฐบรรษัทอำนาจนิยม’ ในสังคมไทย
  • People
    • “ความสำเร็จ ดีใจได้วันเดียว”
    • โซเชียลมีเดีย ในมุมมองของ มาร์ก ซักเคอร์เบิร์ก
  • Parent
    • ADULTIFICTION
    • ความฉลาดสร้างได้
    • การเรียนรู้ของลูกในวันนี้
    • CODING คืออะไร
    • สอน CODING อย่างไรให้ง่าย
    • 8 ข้อครูควรรู้ เมื่อจัดการเรียนรู้ผ่านประสบการณ์
  • Lift
    • คุณรู้สึกว่า โลกทุกวันนี้หมุนเร็วและแคบลงหรือเปล่า?
    • ปัจจุบันเราต้องเผชิญกับความท้าทายอะไรบ้าง
    • กฎ 40% ของหน่วย SEAL
    • e-Book
      • Sapiens – A Brief History of Humankind
        • [สรุป] โฮโม เซเปียนส์ สัตว์มหัศจรรย์และถิ่นที่อยู่
        • ตอนที่ 1- กำเนิด Homo Sapiens
        • ตอนที่ 2 – สิ่งที่ทำให้เราครองโลก
        • ตอนที่ 3 – ยุคแห่งการล่าสัตว์เก็บพืชผล
        • ตอนที่ 4 – การหลอกลวงครั้งยิ่งใหญ่
        • ตอนที่ 5 – คุกที่มองไม่เห็น
        • ตอนที่ 6 – กำเนิดภาษาเขียน
        • ตอนที่ 7 – ความเหลื่อมล้ำ
        • ตอนที่ 8 – โลกที่ถูกหลอมรวม
        • ตอนที่ 9 – มนตราของเงินตรา
        • ตอนที่ 10 – จักรวรรดิ
        • ตอนที่ 11 – บทบาทของศาสนา
        • ตอนที่ 12 – ศาสนาไร้พระเจ้า
        • ตอนที่ 13 – ยุคแห่งความไม่รู้
        • ตอนที่ 14 – 500 ปีแห่งความก้าวหน้า
        • ตอนที่ 15 – เมื่อยุโรปครองโลก
        • ตอนที่ 16 – สวัสดีทุนนิยม
        • ตอนที่ 17 – จานอลูมิเนียมของนโปเลียน
        • ตอนที่ 18 – ครอบครัวล่มสลาย
        • ตอนที่ 19 – สุขสมบ่มิสม
        • ตอนที่ 20 – อวสาน Sapiens
      • Homo Deus
        • [สรุปหนังสือ] Homo Deus
        • ตอนที่ 1: สามวาระใหม่แห่งอนาคต
        • ตอนที่ 2: คำสาปเรื่องดีอุส
        • ตอนที่ 3: เซเปียนส์ครองโลกได้อย่างไร
        • ตอนที่ 4: พลังของจิตวิสัยร่วม
        • ตอนที่ 5: ข้อตกลงเรื่องความทันสมัยกับเทวทัณฑ์
        • ตอนที่ 6: ปลายทางของการปฏิวัติมนุษย์นิยมคืออภิมนุษย์
        • ตอนที่ 7: ไม่มีทั้งเจตจำนงเสรีและวิญญาณในโลกของข้อมูลนิยม (dataism)
        • ตอนที่ 8: เซเปียนส์กลายเป็นสิ่งชำรุดทางประวัติศาสตร์ได้อย่างไร
        • ตอนที่ 9: มิจฉาทิฐิที่ร้ายแรงที่สุดในยุคขัอมูลนิยม (dataism)
        • ตอนที่ 10: พลังกุณฑาลินี คือเส้นทางสู่ด้านสว่างของ Homo Deus
        • ตอนที่ 11: ทฤษฎีแห่งสรรพสิ่ง​(Theory​ of​ Everything)​ของลัทธิข้อมูลนิยมกับ​วิถีแห่งตัวตน
        • ตอนที่ 12: เราต้องก้าวข้ามแต่หลอมรวมลัทธิข้อมูลนิยม
  • See Behind the FX rate
  • Obtaining Stock Prices
  • Monte Carlo Simulation in Finance Python Part-2
  • The Easiest Data Cleaning Method using Python & Pandas
  • How to use iloc and loc for Indexing and Slicing Pandas Dataframes
  • Converting HTML to a Jupyter Notebook
  • Top 50 Tips & Tricks
Powered by GitBook
On this page

Was this helpful?

  1. Tutorials
  2. Python

การใช้งาน Virtualenv

Virtualenv คืออะไร

Virtualenv(ironment) คือ environment ของ python เช่น คุณทำโปรแกรมอยู่ 2 ตัว A กับ B แล้วเวลาคุณจะติดตั้ง library ถ้าคุณ pip install ลงไปเลย

  • library ที่คุณใช้กับงาน A กับปนมั่วกับงาน B

เช่น เวลาจะทำไฟล์ requirement เพื่อให้คนอื่น สามารถติดตั้ง library ที่ใช้กับงานเราได้สะดวกมากขึ้นก็กลับกลายเป็นว่า งาน A ใช้ 5 library งาน B ใช้ 10 Libray สรุป คนที่เอาโปรแกรมเราไม่ไปใช้ก็ไม่รู้ว่า โปรแกรมเราใช้ library อะไรบ้างก็ต้องติดตั้งทั้งหมด 15 library

  • หรือแบบไม่สามารถแยก version ของ library กันได้

เช่น งาน A ใช้ OpenCV 3 แต่ งาน B ใช้ OpenCV 4 ทำไงให้ลง 2 version พร้อมกันได้ละ ก็ต้องให้เจ้า Virtualenv ช่วยเราไง

โดยเจ้า Virtualenv จะสร้าง environment ใหม่ขึ้นมา ที่มีแต่ตัว Python เปล่าๆ แล้วเวลาเราติดตั้ง library อะไรไปมันก็จะเก็บไว้ใน Folder ของ environment แต่ละตัวไม่มาปนกัน

ตอนนี้อาจจะ งง เดี๋ยวไปลองติดตั้งแล้วใช้งานจริงกันเลยดีกว่าครับ

การติดตั้ง Virtualenv

เราจะติดตั้ง Virtualenv ผ่าน pip กันนะครับ โดยการพิมพ์ command

pip install virtualenv

การใช้งาน Virtualenv

สมมติ ผมทำโปรเจค image_enhancement อยู่ผมก็จะเข้าไปใน folder โปรเจคของผม

ในทีนี้ผมจะสร้าง python environment ชื่อ env โดยสั่ง

virtualenv.exe env

เวลาจะใช้งานก็สั่ง command

.\env\Scripts\activate

Note:

สำหรับใครที่ใช้ Virtualenv แล้วติดปัญหาเกี่ยวกับ execution policies แบบในรูปด้านล่าง

ก็ให้เปิด Powershell หรือ Command Prompt แบบ Admin แล้วสั่ง

Set-ExecutionPolicy AllSigned

กับ

Set-ExecutionPolicy RemoteSigned

กลับมาเข้าเรื่องของเราต่อครับ เมื่อเราสั่ง activate แล้วจะมีชื่อ environment ของเราอยู่หน้าบรรทัดของ powershell หรือ command

การใช้งาน Virtualenv (ต่อ)

คราวนี้ถ้าเราอยากรู้ว่า environment ของเรามี library อะไรอยู่บ้างก็ให้ลองสั่ง

pip freeze

ซึ่งเราจะยังไม่เห็น library ใดๆ คราวนนี้เรามาลองติดตั้ง library OpenCV กัน

pip install opencv-python

แล้วลอง pip freeze อีกรอบ เราก็จะเห็นว่ามี library OpenCV เพิ่มเข้ามา

numpy==1.16.3
opencv-python==4.1.0.25

ทีนี้ก็มาลองทดสอบ library ที่เพิ่งลงกันครับ

ถ้าเราใช้งาน environment เสร็จแล้ว ก็ให้สั่ง

deactivate

เพื่อออกจาก environment นั้น

ประโยชน์ของ Virtualenv

สมมติ ว่าเราทำโปรเจคเสร็จ แล้วคนอื่นอยากนำไปใช้งานต่อ ให้เราสั่ง

pip freeze > requirement.txt

เพื่อจะรวบรวม library ไว้ในไฟล์ requirement.txt เราอาจจะใช้ชื่อไฟล์อื่นก็ได้นะครับ

เวลาคนอื่นเอาไปใช้ เค้าก็จะสั่ง

pip install -r <file requirement>

เจ้า pip ก็จะลง library ทุกตัวให้อัตโนมัติ ของเพียงแค่ version ของ python เหมือนกัน เพราะ บางทีถ้าเรา freeze library จาก python 3.7 แล้วไปลงใน python 3.6 version ของ library บางตัวอาจจะไม่มีก็ได้ครับ

สรุป

Command

Descriptions

virtualenv

สร้าง environment

/Scripts/activate

ใช้งาน environment

deactivate

ออกจาก environtment

pip install

ติดตั้ง library

pip freeze

แสดงรายชื่อ library

สัญลักษณ์ >

เป็นการบอกให้เขียนใส่

PreviousDate & TimeNextPandas

Last updated 5 years ago

Was this helpful?

โดยจะเลือกแบบ Yes หรือ Yes to All ก็ได้ ดูรายละเอียดได้จาก ของ virtualenv ครับ

ที่มาบทความ .

User Guid
skconan.com
virtualenv error
pip freeze
use cv2
pip 00