Debian Linux kullanıyorum.
Terminaldeki tüm Python scriptlerini script.py
(yerine python script.py
) yazarak çalıştıracak şekilde yapılandırmanın bir yolu olup olmadığını merak ediyordum .
Debian Linux kullanıyorum.
Terminaldeki tüm Python scriptlerini script.py
(yerine python script.py
) yazarak çalıştıracak şekilde yapılandırmanın bir yolu olup olmadığını merak ediyordum .
Yanıtlar:
Yapmanız gereken iki şey var:
chmod +x script.py
Çekirdeğin hangi tercümanı kullanacağını bilmesi için bir shebang kullanın. Komut dosyasının üst satırı şunu okumalıdır:
#!/usr/bin/python
Bu, komut dosyanızın varsayılan python ile çalışacağını varsayar. Belirli bir sürüme ihtiyacınız varsa, sadece shebang içinde belirtin:
#!/usr/bin/python2.7
Şimdi yazabilirsiniz:
./script.py
komut dosyası geçerli dizinde ise veya:
script.py
Eğer betiğin yeri PATH'inizde olacaksa veya:
path/to/script.py
aksi takdirde.
bash
./script.py
, değilscript.py
Linux altında hashbang'ı (aka shebang) kullanabilirsiniz. Satır ekle
#!/usr/bin/python
Eğer varsayılan python yorumlayıcısını çalıştırmak istiyorsanız.
#!/path/to/python[x.x]
belirli bir sürümü kullanmak
#!/usr/bin/env python
Ortamın sizin için python bulmasını istiyorsanız.
Komut dosyasını çalıştırılabilir hale getirmeniz de gerekir.
chmod +x script[.py]
kullanın:
#!/usr/bin/env python
Bu, kullanıcının kullanmayı umduğu python'un betiği çalıştıran python olmasını sağlayacaktır. Bu, kullanıcı belirli bir ortamda belirli bir python sürümüne sahip olmak için virtualenv kullanıyorsa önemlidir.
Aşağıdaki gibi betiğinizin üstünde bir shebang satırı kullanın:
Komut dosyasını çalıştırmak istediğiniz uygun python sürümünü güncelleyin. Örn. python 3.6 için
varsayılan tercüman için
Not: Komut dosyasının çalıştırılabilir izne sahip olduğundan emin olun.
#!/usr/bin/env python
, kullanıcının/usr/local/bin
betiği çalıştırmayı tercih ettiği yerel bir python yapısı (örneğin, içinde ) olması durumunda kullanmak daha iyi bir fikirdir .