উত্তর:
কিছু লোক সিস্টেমের চেয়ে পৃথক পাইথন (পারল ইত্যাদি) ব্যবহার করতে পারে। /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: আপনাকে একটি পুরো পথ নির্দিষ্ট করতে হবে।