วิธีการติดตั้งแพ็คเกจ Python ใน Raspberry Pi OS Bookworm
ประเด็นที่สำคัญ
Bookworm ของ Raspberry Pi OS จำเป็นต้องปรับใช้โมดูล Python ภายในแพลตฟอร์มเสมือน เพื่อเป็นมาตรการป้องกันการแทรกแซงที่ไม่พึงประสงค์จากการใช้งาน Python เริ่มต้นของโฮสต์
หนึ่งอาจใช้ตัวจัดการแพ็คเกจ Apt เพื่อค้นหาและติดตั้งโมดูล Python; อย่างไรก็ตาม ในกรณีที่แพ็คเกจไม่พร้อมใช้งานหรือจำเป็นต้องมีเวอร์ชันที่อัปเดต จำเป็นต้องใช้ยูทิลิตี้ Pip ภายในสภาพแวดล้อมเสมือน
ภายในสภาพแวดล้อมเสมือนจริง การแก้ไขหรือเพิ่มเติมใดๆ ใน Python จะไม่ส่งผลกระทบต่อการติดตั้ง Python ทั่วทั้งระบบ
หากคุณประสบปัญหาขณะติดตั้งแพ็คเกจ Python โดยใช้ยูทิลิตี้ “pip” บน Raspberry Pi OS Bookworm มีมาตรการเพิ่มเติมที่ต้องดำเนินการ ซึ่งรวมถึงการสร้างสภาพแวดล้อมเสมือน Python โปรดดูขั้นตอนที่จำเป็นสำหรับงานนี้ด้านล่าง
มีการเปลี่ยนแปลงอะไรในหนอนหนังสือ Raspberry Pi OS?
เมื่ออัปเกรดเป็นอุปกรณ์ Raspberry Pi 5 ล่าสุด สิ่งสำคัญคือต้องจำไว้ว่าอุปกรณ์ดังกล่าวอาจเข้ากันไม่ได้กับระบบปฏิบัติการรุ่นก่อนๆ ซึ่งก็คือ Raspberry Pi OS ด้วยเหตุนี้ จึงต้องทำการติดตั้ง"Bookworm"รุ่นที่เพิ่งเปิดตัวใหม่เพื่อให้แน่ใจว่ามีฟังก์ชันการทำงานและความเข้ากันได้ที่เหมาะสม
ในการทำซ้ำที่ผ่านมาของระบบปฏิบัติการ Raspberry Pi ที่ใช้ Debian เช่น Buster และรุ่นก่อนหน้า ผู้ใช้สามารถติดตั้งแพ็คเกจ Python ได้ทั่วโลกผ่านการใช้งานตัวจัดการแพ็คเกจ pip อย่างไรก็ตาม ฟังก์ชันนี้ได้ถูกลบออกจาก Raspberry Pi OS เวอร์ชันล่าสุดที่เรียกว่า Bookworm
ตามที่ เอกสาร Raspberry Pi อธิบาย ปัญหาก็คือการใช้เครื่องมือเฉพาะของ Python เช่น pip สามารถทำได้ ทำให้เกิดข้อขัดแย้งกับตัวจัดการแพ็คเกจ apt OS
ดังนั้น ตั้งแต่ Bookworm เป็นต้นไป จำเป็นต้องติดตั้งแพ็คเกจภายในสภาพแวดล้อมเสมือน Python ที่ผ่านการฆ่าเชื้อผ่านการใช้ pip เพื่อป้องกันไม่ให้เกิดการแทรกแซงกับเวอร์ชันของ Python ของระบบ
เมื่อพยายามดำเนินการคำสั่ง “pip install [ชื่อแพ็คเกจ]” นอกสภาพแวดล้อมเสมือน ข้อความแสดงข้อผิดพลาดจะถูกสร้างขึ้นโดยเริ่มต้นดังนี้:
error: externally-managed-environment
× This environment is externally managed
•°”€> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
วิธีค้นหาแพ็คเกจ Python ด้วย Apt
ขั้นตอนเริ่มต้นเกี่ยวข้องกับการตรวจสอบว่าสามารถติดตั้งแพ็คเกจ Python ที่จำเป็นผ่านทางตัวจัดการแพ็คเกจ APT (Advanced Package Tool) ทั่วทั้งระบบได้หรือไม่ ในการดำเนินการนี้ ผู้ใช้อาจใช้คำสั่ง"apt search"เพื่อเรียกดูพื้นที่เก็บข้อมูลอย่างเป็นทางการและค้นหาแพ็คเกจที่เกี่ยวข้อง เพื่อเป็นตัวอย่าง ให้พิจารณาดำเนินการคำสั่งต่อไปนี้:
apt search numpy
โปรดทราบว่าคุณต้องติดตั้งแพ็คเกจเฉพาะชื่อ “python3-numpy” ซึ่งเข้ากันได้กับ Python เวอร์ชัน 3 ของคุณ หากต้องการติดตั้ง ให้ใช้ Package Manager APT พร้อมกับสิทธิ์ผู้ดูแลระบบที่ได้รับจากการใช้ “sudo”
sudo apt install python3-numpy
ในกรณีที่ไม่สามารถรับแพ็คเกจ Python ที่ต้องการผ่านการใช้งานตัวจัดการแพ็คเกจ APT หรือหากจำเป็นต้องมีเวอร์ชันที่อัปเดต เราจะต้องใช้เครื่องมือ pip เฉพาะภายในสภาพแวดล้อมเสมือน Python เพื่อวัตถุประสงค์ในการติดตั้ง
วิธีสร้างสภาพแวดล้อมเสมือนจริงของ Python
ในการติดตั้งแพ็คเกจ Python โดยใช้ยูทิลิตี้ pip ภายในระบบปฏิบัติการ Raspberry Pi OS Bookworm ในตอนแรกจำเป็นต้องสร้างสภาพแวดล้อม Python เสมือนโดยใช้คำสั่ง venv ด้วยเหตุนี้ เราจึงตั้งชื่อตัวอย่างเฉพาะของเราว่า “โครงการ muo” แม้ว่าบางคนอาจเลือกใช้ชื่ออื่นตามที่พวกเขาเลือกก็ตาม
python -m venv muo-project
เวลาที่ต้องใช้ในการทำงานนี้ให้เสร็จสิ้นอาจแตกต่างกันไปขึ้นอยู่กับรุ่น Raspberry Pi เฉพาะที่ใช้ ต่อจากนั้น เราจะต้องนำทางไปยังโฟลเดอร์สภาพแวดล้อมเสมือนที่สร้างขึ้นใหม่ ซึ่งเป็นที่เก็บการติดตั้ง Python ทั้งหมด และเริ่มการเปิดใช้งาน
cd muo
source bin/activate
สภาพแวดล้อมเสมือนสำหรับ Python ถูกสร้างขึ้นและเริ่มต้นได้สำเร็จ โดยเห็นได้จากการเปลี่ยนแปลงในพรอมต์ของระบบซึ่งขณะนี้แสดง"muo-project"ซึ่งบ่งชี้ว่าอินสแตนซ์เฉพาะของ Python ของสภาพแวดล้อมกำลังถูกใช้มากกว่าการติดตั้งระบบมาตรฐาน ดังนั้น การแก้ไขใดๆ ที่เกิดขึ้นภายในสภาพแวดล้อมเสมือนหรือแพ็คเกจที่ติดตั้งไว้จะไม่ส่งผลกระทบต่อการติดตั้ง Core Python บนระบบ
โปรดทราบว่าในกรณีที่ระบบรีสตาร์ท เช่น รีบูต Raspberry Pi สภาพแวดล้อมรันไทม์ของ Python จะต้องถูกเปิดใช้งานอีกครั้งเพื่อการใช้งานต่อไป
หากต้องการสร้างสภาพแวดล้อมเสมือน Python ที่จำลองแพ็คเกจ Python ทั้งหมดที่ติดตั้งบนระบบปฏิบัติการของคุณในปัจจุบัน เพียงรวมตัวเลือก --system-site-packages
ไว้ในคำสั่งที่เกี่ยวข้อง ตัวอย่างเช่น เราอาจกำหนด python-m venv--system-site-packages muo-project
ติดตั้งแพ็คเกจ Python ด้วย Pip
ในการใช้ความสามารถของสภาพแวดล้อมเสมือน Python เราสามารถใช้คำสั่ง pip เพื่อติดตั้งแพ็คเกจที่จำเป็นซึ่งจำเป็นสำหรับโปรเจ็กต์ของตน ตามภาพประกอบ ให้พิจารณาติดตั้งเครื่องมือทดสอบความเครียดของระบบ Stressberry โดยดำเนินการคำสั่งต่อไปนี้:
pip install stressberry
โมดูลจะถูกติดตั้งในสภาพแวดล้อมเสมือน Python ที่คุณกำหนดควบคู่ไปกับการขึ้นต่อกันที่จำเป็น สิ่งสำคัญคือต้องทราบว่าความพร้อมใช้งานของโมดูลนั้นจำกัดเฉพาะสภาพแวดล้อมเสมือนที่กล่าวมาข้างต้นเท่านั้น และไม่ขยายไปไกลกว่านั้น
ไม่มีข้อขัดแย้งกับแพ็คเกจ Python อีกต่อไป
การใช้เครื่องมือ pip สำหรับการติดตั้งแพ็คเกจ Python บน Raspberry Pi ที่ทำงานด้วย OS Bookworm จำเป็นต้องมีขั้นตอนเพิ่มเติมเมื่อเปรียบเทียบกับระบบแบบเดิม อย่างไรก็ตาม วิธีการนี้ให้ประโยชน์ในการจำกัดแพ็คเกจเหล่านี้ให้อยู่ในสภาพแวดล้อมเสมือนที่แยกออกมา ซึ่งจะช่วยป้องกันการหยุดชะงักหรือการทำงานผิดพลาดของระบบทั้งหมดที่อาจเกิดขึ้น