9 ตุลาคม 2567

Published ตุลาคม 09, 2567 by with 0 comment

ทำไมถึงควรใช้ Python ของระบบปฏิบัติการมากกว่า Anaconda ในกรณีนี้!

สวัสดีผู้อ่านทุกท่าน หลาย ๆ ท่านที่ทำงานเกี่ยวกับวิทยาศาสตร์ข้อมูลหรือปัญญาประดิษฐ์อาจจะใช้ Anaconda หรือ miniconda สำหรับติดตั้งเครื่องมือในการพัฒนาโมเดล โค้ดต่าง ๆ บนระบบปฏิบัติการ  (Linux, Windows) ซึ่ง conda ช่วยอำนวยความสะดวกมากมายในการใช้งาน แต่ในความสะดวกสบายก็มีข้อเสียเช่นเดียวกัน และอาจไม่มีทางแก้ไขได้นอกจากใช้ Python ของระบบปฏิบัติการเท่านั้น


ผมขอเริ่มจากประสบการณ์ของผมที่เจอมา

  1. Anaconda environment ตีกับ pypi: หากคุณติดตั้งไลบารี อย่างเช่น numpy ด้วย conda แต่ต่อมาคุณไปติดตั้งไลบารีด้วย pypi ที่ต้องการ numpy คนละรุ่นกับ Anaconda ที่ติดตั้งด้วย conda  จะทำให้ pypi โหลด numpy รุ่นที่ไลบารีแล้วติดตั้ง จากนั้นจะทำให้ไลบารีอื่น ๆ พังไปด้วย ซึ่งทางแก้ไขปัญหานี้อาจแก้ไขได้ด้วยการแยก virtual environment ของ Anaconda โดยตรง
  2. การติดตั้งไลบารีที่ต้อง build จากโค้ด: เริ่มจาก llama-cpp-python ผมต้องการติดตั้ง llama-cpp-python ที่รองรับ Vulkan แต่ Anaconda environment ผมกลับมี gcc ของ Anaconda ติดตั้งไว้อยู่แล้ว [1] ทำให้ผมไม่สามารถติดตั้ง llama-cpp-python ที่ต้อง build Vulkan ได้เลย ทางแก้ไขเดียวที่ผมทำได้ คือ เปลี่ยนไป virtual environment python ของระบบปฏิบัติการโดยตรง ไม่ใช้ Anaconda environment ใด ๆ จนสามารถติดตั้งได้ไม่มีปัญหา
จะเห็นได้ว่าทั้งสองกรณีมีความแตกต่างกัน หากคุณต้องใช้ไลบารีที่ build ใหม่โดยใช้แพ็คเกจของระบบปฏิบัติการโดยตรง ขอแนะนำให้คุณทำการแยก virtual environment python ของระบบปฏิบัติการโดยตรง แล้วทำการติดตั้ง เพียงเท่านี้ คุณก็สามารถใช้ python ได้อย่างมีความสุข

[1] อ่านปัญหาที่ผมเจอได้ที่ https://github.com/abetlen/llama-cpp-python/issues/1789


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

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

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