Anaconda : การสร้าง Environment

uraibeef K.
2 min readSep 11, 2019

--

Environment คืออะไร?

Environment แปลตรงๆก็คือ ‘สภาพแวดล้อม’ นั่นเอง ในที่นี้ก็คือสภาพแวดล้อมในการทำงานบน Anaconda ของเรา คือปกติถ้าเราไม่สร้าง Environment ใหม่ เราจะทำงานอยู่บน Base Environment ที่ Anaconda สร้างมาให้เราตั้งแต่ครั้งแรกที่ลง ซึ่งปกติเราจะทำอะไร ติดตั้ง Library อะไรเพิ่ม ก็จะมารวมๆอยู่ใน Base Environment นี้หมด

ในกรอบสีแดง คือ ส่วนที่บอกว่าเรากำลังทำงานอยู่บน Environment ใด ในที่นี้คือ Base Environment

ทำไมเราต้องสร้าง Environment ใหม่?

การสร้าง Environment มองง่ายๆให้เหมือนกับการสร้าง ‘ห้องทำงาน’ ถ้าสมมุติเรามีแค่งานๆเดียว โอเค มีห้องเดียวไม่เป็นอะไร เราจะนำอุปกรณ์ที่จะใช้ทำงานเข้ามาแค่ไหนก็ได้ (การเอาอุปกรณ์เข้ามาเสมือนการติดตั้ง Library) แต่ถ้าเรามีหลายงานที่ต่างกันล่ะ อุปกรณ์ต่างๆที่เรานำเข้ามาก็จะผสมปนเปกันไป ทำให้ยากต่อการหยิบใช้งาน และอาจส่งผลถึงความผิดพลาดต่างๆตามมาได้

เอาให้ง่ายกว่านี้ก็คือ เช่นผมจะพัฒนาเว็บไซต์ ผมก็สร้าง Environment ใหม่ขึ้นมาสำหรับใช้พัฒนาเว็บ ติดตั้ง Library ต่างๆที่จำเป็นสำหรับการสร้างเว็บ ต่อมาถ้าผมจะสร้าง Model Deep Learning ก็สร้างอีก Environment มาเพื่อทำงานนี้ ซึ่งถ้าการติดตั้ง Library ใน Environment นี้เกิด Error พังทั้ง Environment มันก็จะไม่ส่งผลใดๆต่อ Environment อื่นๆเลย นั่นแหละครับข้อดี

สร้าง Environment ยังไง?

1.เปิด Anaconda Prompt ขึ้นมา แล้วพิมพ์

conda create -n <ชื่อสภาพแวดล้อมใหม่> python=<เวอร์ชันที่เราจะใช้> แพ็กเกจ,Libraryที่จะติดตั้งไปด้วย(ใส่ได้หลายตัว)

เช่น

conda create -n TestEnvironment python=3.6 numpy matplotlib

2.เมื่อติดตั้งเสร็จแล้ว แล้วเราต้องการเข้าใช้ Environment ก็ให้พิมพ์

conda activate TestEnvironment

โดยใน Environment ใหม่ของเรามี Library อะไรอยู่บ้างก็สามารถดูได้ผ่าน

conda env list

3.ถ้าเราต้องการติดตั้ง Library ใหม่ใน Environment นี้ ก็พิมพ์

conda install -n <ชื่อสภาพแวดล้อม> <ชื่อแพ็กเกจ,>

เช่น

conda install -n TestEnvironment pandas

4.ถ้าต้องการยกเลิกการใช้งาน Environment ก็พิมพ์

conda deactivate

Trick อื่นๆ เกี่ยวกับ Anaconda

หากจะสร้าง Environment โดยคัดลอกจากตัวเดิมที่มีอยู่

conda create — name <ชื่อสภาพแวดล้อมใหม่> — clone <ชื่อสภาพแวดล้อมเดิม>

เมื่อต้องการลบ Environment

conda env remove -n <ชื่อสภาพแวดล้อม>

เราสามารถเก็บบันทึกข้อมูลสภาพแวดล้อมที่สร้างไว้พร้อมกับแพ็กเกจที่ลงไว้ในนั้นทั้งหมดเพื่อจะนำกลับมาใช้ใหม่ได้โดยใช้คำสั่ง export แล้วบันทึกลงในไฟล์

#กรณีเราไม่ได้กำลังใช้งาน Environment ที่จะ Export
conda env export -n <ชื่อสภาพแวดล้อม> > <ชื่อไฟล์>
#กรณีเราอยู่ใน Environment นั้น แล้วจะ Export
conda env export > <ชื่อไฟล์>

credit : https://phyblas.hinaboshi.com/20190118
(ขออนุญาตนำมาเพิ่มเติมบางส่วนนะครับ)

--

--