Skip to content

Python | แก้ปัญหาการเรียกใช้ module แบบ command line ไม่ได้หลังจากติดตั้งผ่าน pip

ปัญหาคือผมต้องการใช้  Apache Airflow บนเครื่อง  Ubuntu ซึ่งเขียนด้วย  Python และมี cli ให้ใช้ แต่หลังจากติดตั้งด้วย pip install airflow  ไปแล้วปรากฏว่าไม่สามารถใช้คำสั่ง  airflow  ผ่าน terminal  ได้ เจอ  error  แบบนี้

ปัญหาเกิดจาก pip รุ่นใหม่ๆ บน Ubuntu เมื่อเรา pip install เพื่อติดตั้ง module ที่สามารถใช้งานผ่าน command line ตัว execute file มันจะไปอยู่ที่ $HOME/.local/bin ซึ่งบางครั้ง shell ที่เราใช้ไม่ได้ export  path  นี้ให้ทำให้เมื่อเราติดตั้งไปแล้วไม่สามารถเรียกใช้งาน module ผ่าน terminal  ได้

ที่ทำแบบนี้ก็เพื่อแยก env ของผู้ใช้นั้นออกจากระบบหลัก แต่ก็มีทั้งข้อดีและข้อเสียเพราะบ้างครั้ง path ของ module  ก็ชี้กันมั่ว เพราะบางครั้งเราอาจจะใช้  sudo pip install บางครั้งก็ไม่ได้ใช้

วิธีแก้ก็ง่ายๆ ครับ ให้เราเพิ่ม path  $HOME/.local/bin  เข้าไปที่ environment variable PATH ที่ ~/.bashrc  หรือ ~/.zshrc

เสร็จแล้วแล้วก็ source ~/.bashrc หรือ source ~/.zshrc  ใหม่ สมมุติว่าผมใช้  zsh ก็ทำแบบนี้

เท่านี้ก็จะใช้งาน python module ผ่าน  command line ได้แล้วครับ

Be First to Comment

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: