Saya menggunakan Linux Debian.
Saya bertanya-tanya apakah ada cara untuk mengkonfigurasi untuk menjalankan semua skrip Python di terminal dengan mengetik script.py
(bukan python script.py
).
Saya menggunakan Linux Debian.
Saya bertanya-tanya apakah ada cara untuk mengkonfigurasi untuk menjalankan semua skrip Python di terminal dengan mengetik script.py
(bukan python script.py
).
Jawaban:
Ada dua hal yang perlu Anda lakukan:
chmod +x script.py
Gunakan shebang untuk membiarkan kernel tahu juru bahasa apa yang digunakan. Baris teratas skrip harus dibaca:
#!/usr/bin/python
Ini mengasumsikan bahwa skrip Anda akan berjalan dengan python default. Jika Anda membutuhkan versi tertentu, cukup tentukan di shebang:
#!/usr/bin/python2.7
Sekarang Anda dapat mengetik:
./script.py
jika skrip ada di direktori Anda saat ini, atau:
script.py
jika lokasi skrip berada di PATH Anda, atau:
path/to/script.py
jika tidak.
bash
membaca file saat mengeksekusi ...
./script.py
, bukanscript.py
Di linux Anda cukup menggunakan hashbang (alias shebang). Tambahkan baris
#!/usr/bin/python
jika Anda ingin menjalankan penerjemah python default.
#!/path/to/python[x.x]
untuk menggunakan beberapa versi tertentu, atau
#!/usr/bin/env python
Jika Anda ingin lingkungan menemukan python untuk Anda.
Anda juga akan diminta untuk membuat skrip dapat dieksekusi
chmod +x script[.py]
Menggunakan:
#!/usr/bin/env python
Ini akan memastikan bahwa python yang diharapkan pengguna akan digunakan adalah python yang menjalankan skrip. Ini sangat penting jika pengguna menggunakan virtualenv untuk memiliki versi python khusus dalam lingkungan tertentu.
Gunakan garis shebang di atas skrip Anda seperti di bawah ini:
Perbarui versi python yang tepat di mana Anda ingin menjalankan skrip. misal Untuk python 3.6-nya
untuk penerjemah default
Catatan: Pastikan skrip memiliki izin yang dapat dieksekusi.
#!/usr/bin/env python
, jika pengguna memiliki build lokal python (misalnya, dalam/usr/local/bin
) yang mereka lebih suka menjalankan skrip dengannya.