উত্তর:
কিছু লোক সিস্টেমের চেয়ে পৃথক পাইথন (পারল ইত্যাদি) ব্যবহার করতে পারে। /usr/bin/env python
সম্ভবত বর্তমানটি হিসাবে কনফিগার করা সংস্করণটি চালাবে, সম্ভবত স্ক্রিপ্টটি আরও বহনযোগ্য making
অন্যদিকে, কথিত, কিছু সিস্টেমে নেই /usr/bin/env
। এছাড়াও, আপনি এর #!/usr/bin/env foo x
প্রতিস্থাপন হিসাবে ব্যবহার করতে পারবেন না #!foo x
, কারণ foo x
এটি একটি একক যুক্তি হিসাবে ব্যাখ্যা করা হবে। সুতরাং পদ্ধতির মান বিতর্কযোগ্য।
info coreutils 'env invocation'
আমি তোলে কলিং এই ফর্মটি দেখতে পারেন নিশ্চিত করুন যে এটি বিল্ট-ইন শেল পরিবর্তে বাইরের বাইনারি, কিন্তু কোন ইঙ্গিত কিভাবে env python
থেকে কোন আলাদা হতে হবে python
?
PATH
সম্ভবত /usr/local/bin
প্রথম অন্তর্ভুক্ত । সেখানে যদি কেউ ম্যানুয়ালি পাইথন ইনস্টল করে থাকে তবে সেটিকে env
কল করবে, যেখানে #!/usr/bin/python
এটি বাইপাস করবে।
virtualenv
এটি বেশ জনপ্রিয় একটি সরঞ্জাম এবং এটি ওয়ার্কিং ডিরেক্টরিতে একটি অজগরকে এক্সিকিউটেবল ইনস্টল করে। env
এটি সঠিকভাবে কাজ করতে আপনার কৌশলটির প্রয়োজন হবে।
env python
হিসাবে একই python
। তবে সমস্যাটি হ'ল আপনি শেবাং এর মতো লিখতে পারবেন না #!python
: আপনাকে একটি পুরো পথ নির্দিষ্ট করতে হবে।