উইন্ডোজে `#! / Usr / bin / env পাইথন` কাজ করা হচ্ছে


14

আমি এমএসওয়াইএস দ্বারা প্রদত্ত উইন্ডোজে ব্যাশ ব্যবহার করি।

আমি একটি শেবাং দিয়ে পাইথন ফাইল চালানোর চেষ্টা করেছি #!/usr/bin/env python, তবে আমি এই ত্রুটি বার্তাটি পেয়েছি:

/usr/bin/env: python: No such file or directory

এই কাজটি করার জন্য আমি কী করতে পারি?

আমি জানি আমি পাইথন ফাইলটি প্রত্যয় দিয়ে এটি চালু করতে পারি python, তবে আমি এটি প্রত্যয় ছাড়াও কাজ করতে চাই।

উত্তর:


8

পরিবর্তে পাইথন ইনস্টল করা হয়েছে এমন সঠিক পথটি ব্যবহার করুন, উদাহরণস্বরূপ:

#!c:/Python/python.exe

যদি আপনার সিস্টেমে ইউনিক্সের মতো পাথ সমর্থন থাকে (আমি এমএসওয়াইএসের সাথে পরিচিত নই) তবে আপনি সর্বদা আপনার pythonনির্বাহযোগ্য, অর্থাৎ আউটপুট এর পথে প্রবেশ করতে পারেন which python


2
অথবা আপনি ব্যবহার করতে পারেন env, যেমন প্রশ্নকারী করছে।
ইগনাসিও ওয়াজকেজ-আব্রামস

আমি শেবাং পরিবর্তন করতে পারি না, এটি এমন একটি প্রকল্পের অংশ যা লিনাক্স এবং ম্যাকের সাথে কাজ করে এমন অন্যান্য প্রোগ্রামারদের জড়িত।
রাম রাছুম

@RamRachum কি আউটপুট এর which envএবং which pythonএবং type python?
ড্যানিয়েল অঙ্গুলিনির্দেশ


0

আপনি যখন চালান (শেল থেকে) কী ঘটে:

$ /usr/bin/env python

..?

যদি এটি একটি ইন্টারেক্টিভ পাইথন সেশন শুরু করে, তবে অজগরটি পাওয়া যাবে। (আপনি সহজেই চালাতে পারেন type python:)। যদি এটি "এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই" প্রিন্ট করে তবে pythonআপনার PATH তে পাওয়া যাচ্ছে না। সমস্যাটি সমাধানের জন্য নীচেরগুলিতে টুইট করা যেতে পারে কিনা তা দেখুন (পথে / টু / পাইথনের ফাঁকা স্থানগুলি সম্ভবত সমস্যা সৃষ্টি করবে):

$ export PATH=$PATH:/path/to/python
$ /usr/bin/env python

0

আমি ভার্চুয়ালেনভের activate.shফাইল এবং এমএসওয়াইএসজিআইটির মধ্যে একটি মেলে না। এটি উইন্ডোজে কাজ করার উদ্দেশ্য ছিল না।


0

উইন্ডোজ 10 এর সর্বশেষ সংস্করণগুলি লিনাক্স সাবসিস্টেমগুলি ইনস্টল করতে সমর্থন করে। আপনি যদি সেখান থেকে ছুটে যান তবে সঠিক পথ হওয়া উচিত।

আপনি যদি সেভাবে এটি চালানোর ক্ষেত্রে ঠিক থাকেন তবে এটি কার্যকর সমাধান হওয়া উচিত।


0

সমস্যার মূলটি হ'ল শেবাংগুলিতে ফাঁকা স্থান কার্যকর করা যায় এমন অতিরিক্ত যুক্তি সরবরাহ করার জন্য ব্যাখ্যা করা হয়, সুতরাং এটি একটি আর্গুমেন্ট C:\Program Files\Python\python.exeহিসাবে C:\Programদেওয়া Files\Python\python.exeহিসাবে দেখা যায় ।

এটির জন্য সর্বোত্তম সমাধান, কারণ উইন্ডোজ $HOMEডিরেক্টরি Program Filesএবং অন্যান্য জায়গাগুলিতে স্পেস পছন্দ করে যদিও এটি সত্যিই cmd.exe এবং পাওয়ারশেল এবং অন্যান্য সরঞ্জামগুলিতে জিনিসগুলি ভেঙে দিতে পারে:

পাইথনটি ইনস্টল করুন C:\Pythonএবং C:\Pythonযেখানে ফোল্ডারটি থাকে সেখানে এটি জুড়ুন python.exeএবং যে Scriptsডিরেক্টরিটি এটির মধ্যে থাকে সেই ডিরেক্টরিটি আপনার PATHপরিবেশের পরিবর্তে সিস্টেম বা ব্যবহারকারী পর্যায়ে থাকে।

আপনি সহ-অস্তিত্ব পাইথন 2.7.x এবং 3.x প্রয়োজন হয়, তাহলে তাদের মধ্যে ইনস্টল C:\Python27এবং C:\Python36এবং C:\Python37এবং নামান্তর python.exeকরতে python2.exe, python36.exe, python37.exe, ইত্যাদি এবং যারা ফোল্ডার ও তাদের প্রতিটি যোগ Scriptsমধ্যে ফোল্ডার PATH। আপনি নির্ধারণ করতে যা পাইথন 3 সংস্করণ আপনি "ডিফল্ট" হতে হবে এবং এছাড়াও যে ফোল্ডারে কপি করতে চাই চাইতে পারেন python3.exeকোনো স্ক্রিপ্ট ব্যবহার হ্যান্ডেল করতে !#/usr/bin/env python3

আপনার ব্যবহারকারীর হোম ডিরেক্টরিতে যদি এটির একটি জায়গা থাকে তবে আপনি pip install --user somepackageসিনট্যাক্সটি ব্যবহার করার পরেও সমস্যাগুলির মুখোমুখি হতে পারেন। --userআপনার হোম ডিরেক্টরিতে ডিফল্ট, এবং স্থান হিসাবে ভাল এই ক্ষেত্রে জিনিষ আপ হোঁচট হবে। কর্মক্ষেত্রটি এখানে বর্ণিত হয়েছে তবে আপনার পরিবেশে পাইথোনাসবার্সে রফতানি করতে সিদ্ধ হয়।

export PYTHONUSERBASE=/myappenv
pip install --user SomePackage

বা উইন্ডোজ (পাওয়ারশেল) এ:

$env:PYTHONUSERBASE='C:\PythonPkgs'
pip install --user SomePackage
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.