Yanıtlar:
Bazı insanlar sistemdekinden farklı bir python (perl vb.) Kullanabilir. /usr/bin/env python
geçerli olarak yapılandırılmış sürümü çalıştırır, betiği daha taşınabilir hale getirir.
Öte yandan, bazı sistemlerin olmadığı bildirildi /usr/bin/env
. Ayrıca, #!/usr/bin/env foo x
yerine geçemezsiniz #!foo x
, çünkü foo x
tek bir argüman olarak yorumlanır. Dolayısıyla yaklaşımın değeri tartışmalıdır.
info coreutils 'env invocation'
Ben markaları çağıran bu formu görebilirsiniz emin yerine yerleşik kabuğun dış ikili, fakat hiçbir belirti nasıl env python
herhangi farklı olurdu python
?
PATH
muhtemelen içerir /usr/local/bin
ilki. Birisi buraya manuel olarak python yüklediyse, env
onu çağırır, oysa #!/usr/bin/python
atlar.
virtualenv
oldukça popüler bir araçtır ve çalışma dizinine çalıştırılabilir bir python yükler. env
Düzgün çalışması için hile gerekir .
env python
ile aynı python
. Ancak sorun şuna benzer bir yazı yazamamanızdır #!python
: tam bir yol belirtmeniz gerekir.