কীভাবে সরাসরি পাইথন প্রোগ্রাম চালানো যায়?


13

কীভাবে সরাসরি পাইথন প্রোগ্রাম চালানো যায়?

আমি জিডিতে একটি .py ফাইল (বলুন, mnik.py ) তৈরি করেছি। এটি টার্মিনালে মসৃণভাবে চলে।

কমান্ড যায়

python3 mnik.py

তবে যখনই আমি ফাইলটিতে ক্লিক করি এটি জিডিট দিয়ে খোলা হয়। আমি ক্লিক করে এটি সরাসরি চালাতে পারি না।

কি করো?



4
@ ক্যাস্পার্ড python3একটি আর্গুমেন্ট সহ কমান্ড লাইনে টাইপ করা পাইথন স্ক্রিপ্টগুলি চালনার এক দুর্দান্ত উপায়। এটা আসলে একটি প্রোগ্রাম যা একটি টার্মিনাল ও আর্গুমেন্ট প্রয়োজন চালানোর জন্য সবচেয়ে সহজ উপায় (আমার নিজের স্ক্রিপ্ট অনেক ভালো, কিন্তু প্রোগ্রাম মত mercurial, sphinx)। আমি 20+ বছর ধরে যা করে আসছি তা সঠিক পদ্ধতি নয় কেন তা বোঝানোর যত্ন নেওয়া?
অ্যান্থন

3
@ ক্যাস্পার্ড একটি সঠিক লিখিত পাইথন স্ক্রিপ্ট (বা প্রোগ্রাম) -এ একটি শেবাং লাইন থাকতে হবে না। যদি এটি না হয় তবে এটি এখনও প্রতিটি উপায়ে পাইথন স্ক্রিপ্ট। লিনাক্স শেলগুলি দ্বারা আপনার পছন্দ হিসাবে মনে হচ্ছে শর্ট হ্যান্ড ফর্মটিতে script স্ক্রিপ্টটি সম্পাদন করা যাবে না। এমন পরিবেশ রয়েছে যেগুলি পাইথন স্ক্রিপ্টগুলির মোটেও শেবাং লাইন থাকা দরকার না এবং ডাবল ক্লিক করে স্ক্রিপ্টটি শুরু করার অনুমতি দেয়।
অ্যান্থন

1
@ ক্যাস্পার্ড পাইথন স্ক্রিপ্টটি ব্যবহার ./scriptnameকরে চালানোর জন্য কার্নেলের যা দরকার তা আপনার কমান্ডলাইন থেকে স্ক্রিপ্ট চালিয়ে দাবী প্রমাণ করে না python3। অজগর স্ক্রিপ্টগুলি চালানোর বিভিন্ন পদ্ধতি রয়েছে এবং python3 ./mnik.pyএটি করাও একটি সঠিক পদ্ধতি, এটি অন্যরকম (এবং কমপক্ষে আপনি পাইথন 3 পান এবং পাইথন 2 না এখন পর্যন্ত সবচেয়ে বেশি উত্তর পাওয়া যায়)
অ্যান্থন

1
<language> <script> ব্যবহার করা কোনও স্ক্রিপ্ট চালানোর জন্য সম্পূর্ণ বৈধ এবং স্বীকৃত উপায়। এটি খারাপ অভ্যাসের পরামর্শ দিলে তা নষ্ট করা উচিত।
জ্যাকব Vlijm

উত্তর:


26

দুটি জিনিস প্রয়োজন।

  1. কোন স্ক্রিপ্টে অবশ্যই #!ওএসকে লাইন থাকতে হবে যা কোন দোভাষী ব্যবহার করবে। আপনার ক্ষেত্রে কোডে আপনার প্রথম লাইনটি অবশ্যই হওয়া উচিত#!/usr/bin/env python3
  2. আপনাকে ফাইল ম্যানেজারটি খুলতে হবে, সম্পাদনা -> পছন্দসমূহ -> আচরণে যেতে হবে এবং এক্সিকিউটযোগ্য ফাইলগুলির সাথে কী করতে হবে তা নির্বাচন করতে হবে

    এখানে চিত্র বর্ণনা লিখুন

    1. অবশেষে, নিশ্চিত হয়ে নিন যে আপনার ফাইলটি নিজেই কার্য সম্পাদনযোগ্য অনুমতি সেট করেছে। টার্মিনালে আপনি করতে পারেন chmod +x /path/to/script.pyএবং জিইউআইতে, ফাইলটিতে ডান ক্লিক করুন এবং এর বৈশিষ্ট্যগুলি -> অনুমতিগুলি পরিবর্তন করুন

    এখানে চিত্র বর্ণনা লিখুন

    এখানে চিত্র বর্ণনা লিখুন

শেবাং লাইন সম্পর্কে নোট

একেবারে প্রথম রেখাকে শেবাং লাইন বলা হয় এবং এটি দিয়ে শুরু করা উচিত #!; এরপরে যা আসে তা হ'ল ইন্টারপ্রেটারের নাম যা আপনার কোড পড়বে। আপনি যদি ব্যবহার করছেন তবে python3আপনি #!/usr/bin/python3বা #!/usr/bin/env python3বহনযোগ্যতার জন্য ব্যবহার করতে পারেন । আপনি যদি অজগর সংস্করণে সুনির্দিষ্ট কোডটি ব্যবহার না করেন - কেবল ব্যবহার করুন#!/usr/bin/env python

স্ক্রিপ্ট আউটপুট নোট:

যদি আপনার স্ক্রিপ্টটি আউটপুটটি কনসোলের জন্য প্রিন্ট করে তবে এটিতে টার্মিনাল উইন্ডো থাকা দরকার বা বিকল্পভাবে জিইউআই ডায়ালগ যেমন ব্যবহার করা দরকার zenityRun in Terminalআপনি কোডটি দেখতে চাইলে বিকল্পটি পছন্দ করুন । আপনি যদি স্ক্রিপ্টটি কনসোল আউটপুট না দেখে কিছু করতে চান - ব্যবহার Runবিকল্প।

এখানে চিত্র বর্ণনা লিখুন

এছাড়াও, sys.argv[1]স্ক্রিপ্টের মতো আপনার যদি কমান্ড লাইন প্যারামিটার থাকে তবে আপনি যদি টার্মিনাল উইন্ডো না খোলেন তবে এগুলি সেট করতে পারবেন না।


1
@ প্রিয়দর্শীপল Filesএটি লঞ্চারের প্রোগ্রামের মতো । উইন্ডোজ- My Computer
স্পোকে

@ প্রিয়দর্শীপল এটি nautilusটার্মিনালে রয়েছে
গ্রোভেলপ্লেক্স


3
#!/usr/bin/env pythonবেশিরভাগ উবুন্টু সিস্টেমে পাইথন 2 ডেকে আনা হবে। যদিও আপনি পাইথন 2 এর সাথে পাইথন 3 এর সাথে সামঞ্জস্যপূর্ণ পাইথন স্ক্রিপ্ট তৈরি করতে পারেন তবে আমি ধরে নেব না যে ওপি এটি করেছে। #!/usr/bin/env python3আরও উপযুক্ত শিবাং বলে মনে হচ্ছে
অ্যান্থন

1
এবং কেন আমরা এখানে আর্চ লিনাক্স আনছি? আমি কিছুটা গড় হিসাবে আসতে পারি, কিন্তু আমরা এখানে উবুন্টু কথা বলছি। উবুন্টুতে অজগরটি পাইথন 2-এর সাথে যুক্ত থাকে you're আপনি যদি সফটওয়্যার বিকাশ করছেন তবে সম্ভবত আপনার লিখিত লিঙ্কগুলি সম্পর্কে সচেতন হওয়া উচিত, যদি আপনি আপনার ওএসের ডিফল্ট সংস্করণ ছাড়া অন্য কিছু ব্যবহার করেন, তবে স্পষ্টভাবে এটি নির্দিষ্ট করুন। অবশ্যই, আমরা প্রতিটি পৃথক প্রশ্ন পূরণ করতে পারি, তবে উচ্চস্বরে চিৎকার করার জন্য - যদি আপনি কোড করেন তবে সঠিকভাবে করুন।
সের্গেই কোলোডিয়াজনি

3

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

আপনার পাইথন ইনস্টলেশনটি সন্ধান করুন

$ which python
/usr/bin/python

#!সামনে আপনার প্রোগ্রামের শীর্ষ লাইনে প্রোগ্রামগুলির অবস্থান যুক্ত করুন

#!/usr/bin/python

# Python code goes here....

মৃত্যুদন্ডের অধিকার পেতে পাইথন স্ক্রিপ্ট সেট করুন

$ chmod 700 test.py

এখন আপনি সরাসরি স্ক্রিপ্টটি চালাতে পারেন

$ ./test.py

টেস্ট.পাইয়ের জন্য কোড তালিকা

#!/usr/bin/python

print "test"

2

আপনি যদি টাইপ না করেই এই প্রোগ্রামটি চালাতে চান তবে আপনাকে python3 mnik.pyস্ক্রিপ্টটি সম্পাদনযোগ্য করে তুলতে হবে এবং python3এটি চালানোর জন্য এটি ব্যবহার করা হয়েছে তা নিশ্চিত করতে হবে।

দৌড় দিয়ে আপনি প্রথমটি করতে পারেন

 chmod +x mnik.py

দ্বিতীয়টি আপনি স্ক্রিপ্টের প্রথম লাইন হিসাবে একটি শেবাং লাইন যুক্ত করতে পারেন যা পাইথন 3কে অনুরোধ করে । যে উবুন্টু সিস্টেমে আমি পাইথন 3 নিয়ে কাজ করেছি সেগুলিতে আপনি শীর্ষে এই লাইনটি যুক্ত করে পাইথন 3 পেতে পারেন:

#!/usr/bin/env python3

এই দুটি পরিবর্তনের পরে আপনি টাইপ করতে পারেন /path/to/mnik.py, ./mnik.pyবা কেবল mnik.py(পরবর্তীটি স্ক্রিপ্টটি আপনার পাঠ্যপথের মধ্যে থাকতে হবে)।

আপনি এই পরিবর্তনগুলি করেন তাহলে আপনি পুনঃনামকরনের বিবেচনা করতে পারে mnik.pyথেকে mnikহলো, যে কমান্ড PyPI প্রকাশিত হয় পাইথন প্যাকেজ সঙ্গে সাধারণ অনুশীলন।


ঠিক আছে, এর মধ্যে এখন কোনও কাজ করে না
প্রিয়দর্শী পল

"ওকে" কি? "এগুলি" কী বোঝায়?
অ্যান্টন

এটি বলছেন ** ইউএসআর / বিন / এনভি: খারাপ দোভাষী: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই **
প্রিয়দর্শী পল

অন্তত /সেখানে সামনের দিকে নিখোঁজ রয়েছে। আপনার মন্তব্যটিতে "এটি" কী তা দয়া করে ব্যাখ্যা করুন। এটা কি বাশ শেল? এটি কি উইন্ডোজ কমান্ড ডট কম? আপনি কোনটি থেকে প্রোগ্রামটি শুরু করছেন এবং কোন কমান্ডলাইন সিনট্যাক্স দিয়ে?
অ্যান্থন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.