โปรแกรมติดตั้งแพ็กเกจ pip ต้องรันจากบรรทัดคำสั่ง (command line) หากคุณพยายามติดตั้งแพ็กเกจจากตัวแปลภาษา Python (Python interpreter) หรือในโปรแกรม Python คุณจะพบข้อผิดพลาด SyntaxError: invalid syntax
ในคู่มือนี้ เราจะอภิปรายสาเหตุของข้อผิดพลาด pip install invalid syntax และความหมายของมัน เราจะเดินทางผ่านตัวอย่างของข้อผิดพลาดนี้เพื่อให้คุณเรียนรู้วิธีแก้ไขในโค้ดของคุณ
pip install invalid syntax
Python pip เป็นโปรแกรมติดตั้งแพ็กเกจ เครื่องมือ pip ช่วยให้คุณดาวน์โหลดและติดตั้งแพ็กเกจจาก Python Package Index ซึ่งมีไลบรารีหลายพันรายการที่คุณสามารถทำงานร่วมกับโค้ดของคุณได้
เครื่องมือ pip รันเป็นอินเทอร์เฟซบรรทัดคำสั่งของตัวเอง pip แยกจากการติดตั้ง Python ของคุณ เนื่องจาก pip เป็นโปรแกรมติดตั้ง ไม่ใช่เครื่องมือที่รันโค้ด
หากเครื่องมือเหล่านี้ถูกรวมไว้ด้วยกัน จะทำให้นักพัฒนาที่ต้องการติดตั้งแพ็กเกจสับสนมากขึ้น เนื่องจากไวยากรณ์ที่คล้ายกันที่ใช้เริ่มโปรแกรม Python จะใช้ได้กับการติดตั้งโมดูลด้วย
พฤติกรรมนี้พบได้ทั่วไปในสภาพแวดล้อมการเขียนโปรแกรม Node.js ใช้ npm ในการติดตั้งแพ็กเกจ เพื่อรันโปรแกรมโดยใช้ Node.js คุณต้องใช้คำสั่ง node
สถานการณ์ตัวอย่าง
เราจะตั้งค่าไลบรารี Beautiful Soup 4 (bs4) ในสภาพแวดล้อมการพัฒนา ไลบรารีนี้ช่วยให้คุณดึงข้อมูลจากหน้าเว็บและดึงข้อมูลเฉพาะเจาะจง
เริ่มต้นด้วยการเปิด Python 3 shell ขึ้นมา ใน shell นี้ เราจะทำงานทั้งหมดสำหรับโปรเจกต์ของเรา:
python3
เชลล์โต้ตอบ (interactive shell) จะเปิดขึ้นซึ่งเราสามารถเขียนโค้ด Python ของเราได้:
Python 3.8.5 (v3.8.5:580fbb018f, Jul 20 2020, 12:11:27) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
ต่อไป เราจะนำเข้าไลบรารี bs4 เข้าสู่โค้ดของเรา เราต้องนำเข้าไลบรารีภายนอกที่เราต้องการใช้ก่อนที่จะอ้างอิงได้ในโปรแกรมหรือเชลล์ นี่คือคำสั่งที่เราจะใช้เพื่อนำเข้าแพ็กเกจ bs4:
>>> from bs4 import BeautifulSoup Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'bs4'
โค้ดของเราคืนค่า ModuleNotFoundError เมื่อเราพยายามนำเข้าแพ็กเกจของเรา นี่หมายความว่าเราไม่สามารถต่อไปเขียนโปรแกรมของเราได้ Python ไม่สามารถค้นหาโมดูลแพ็กเกจที่เราต้องการเขียนโปรแกรมได้ มาแก้ไขข้อผิดพลาดนี้โดยติดตั้งไลบรารี bs4:
>>> pip install bs4
คำสั่งนี้ทำให้เกิดข้อผิดพลาดอีกครั้ง:
File "", line 1 pip3 install bs4 ^ SyntaxError: invalid syntax
ดูเหมือนว่าเราไม่สามารถติดตั้ง bs4 โดยใช้คำสั่ง pip3 ใน Python shell ได้ pip3 เป็นโปรแกรมติดตั้งแพ็กเกจสำหรับแพ็กเกจ Python 3
วิธีแก้ไข
เราได้พยายามติดตั้งแพ็กเกจ bs4 จากตัวแปลภาษา Python (Python interpreter)
คุณสามารถบอกได้เพราะเราเปิด Python 3 โดยใช้คำสั่ง python3 และจากนั้นเราได้รันคำสั่ง pip3 install
Python คืนค่าข้อผิดพลาด pip install invalid syntax เนื่องจาก pip ไม่ใช่คีย์เวิร์ดใน Python pip เป็นเครื่องมือบรรทัดคำสั่งที่ต้องรันจากเชลล์บรรทัดคำสั่ง
เพื่อแก้ไขข้อผิดพลาดนี้ เราต้องออกจาก Python shell ของเราก่อน:
>>> exit()
คำสั่ง exit() บอก Python ให้ปิดตัวแปลภาษาที่เปิดอยู่ ต่อไป เราสามารถติดตั้ง bs4 จากพรอมต์คำสั่งได้:
pip3 install bs4
คำสั่งนี้จะติดตั้งไลบรารี pip ลงในระบบของเรา เมื่อคำสั่งนี้รันเสร็จ เราสามารถเปิด Python shell ใหม่ได้:
python3
เชลล์ใหม่ของเราควรจะมีการเข้าถึงไลบรารี bs4 เราสามารถทดสอบได้โดยการนำเข้า bs4 เข้าสู่โค้ดของเรา:
>>> from bs4 import BeautifulSoup >>>
ไม่มีข้อผิดพลาดถูกโยนออกมา นี่หมายความว่าการนำเข้าสำเร็จ เราสามารถใช้ bs4 ในโปรแกรมของเราตอนนี้
สรุป
ข้อผิดพลาด pip install invalid syntax จะถูกโยนออกมาเมื่อคุณพยายามติดตั้งแพ็กเกจ Python จากตัวแปลภาษา เพื่อแก้ไขข้อผิดพลาดนี้ ให้ออกจากตัวแปลภาษาของคุณและรันคำสั่ง pip install จากเชลล์บรรทัดคำสั่ง
ตอนนี้คุณมีความเชี่ยวชาญที่จำเป็นในการแก้ไขข้อผิดพลาดนี้อย่างมืออาชีพแล้ว!