আমি কীভাবে স্নো চিতাবাঘের পাইথন সংস্করণটি পরিবর্তন করতে পারি?


27

আমি সম্প্রতি আমার ম্যাক ওএস এক্স 10.5 চিতাবাঘের ইনস্টলটি 10.6 স্নো চিতাবাগলকে আপগ্রেড করেছি এবং তার সাথে পাইথনের একটি আপগ্রেড সংস্করণ এসেছে, ২..1.১ (পরিবর্তে যদি 2.5.1 হয়)) এখন যখন আমি pythonটার্মিনাল টাইপ করি তখনও পাই

Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04) 
[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

আমি সন্ধান করে দেখেছি /usr/bin/পাইথন ২.6 পেতে আমাকে টাইপ করতে হবে python2.6

প্রশ্নটি হল: পাইথন ২.6-এ আমি কীভাবে pythonকমান্ড ম্যাপটি তৈরি করব ?

উত্তর:


21

এটি সহজ:

defaults write com.apple.versioner.python Version 2.6

man pythonঅ্যাপল থেকে সম্পূর্ণ ব্যাখ্যা জন্য দেখুন ।

এছাড়াও, একটি গ্যাচা: নিশ্চিত হয়ে নিন যে আপনি যে কম্পিউটারটি নিয়ে এসেছেন তা অজগরটি চালাচ্ছেন এবং আপনি ইনস্টল করেছেন এমন কোনও অন্য নয়। which pythonআপনার কমান্ড প্রম্পটে টাইপ করে এটি করুন। এটি নির্দেশ করা উচিত /usr/bin/python। আমি কেবল এটি উল্লেখ করেছি কারণ আমার ডিফল্ট স্নো চিতাবাঘের অধীনে 2.6 (যখন আমি চিতা ব্যবহার করছিলাম তখন এটি 2.5 ছিল)। সুতরাং আপনি 2.5 পেয়ে যাচ্ছেন তা ইঙ্গিত দিতে পারে যে আপনার পথে আরও কিছু আছে।

হালনাগাদ

নীচের মন্তব্যগুলিতে সম্বোধন করতে:

লোকেরা যা বলছে তা তা করে না।

এটি ওএস এক্স ১০.৮.২-এ আমার জন্য রয়েছে। করার পরে defaults write com.apple.versioner.python Version 2.6পাইথনের ডিফল্ট সংস্করণটি প্রকৃতপক্ষে ২.6। (এবং একইভাবে ২. 2. এ পরিবর্তন করার পরে))

আমি pythonসরাসরি চালাচ্ছি , বা #!/usr/bin/env pythonপাইথনের প্রত্যাশিত সংস্করণ পাই with

এটি / সিস্টেমে / লাইব্রেরি / ফ্রেমওয়ার্কস / পাইথন.ফ্রেমওয়ার্ক / সংস্করণগুলিতে সিমলিংকটি সমাধান করে না যেখানে বর্তমান পয়েন্ট ২.7 রয়েছে যা সমস্যার কারণ হতে পারে (কারণ এটি এখনও ২.6 সহ সিস্টেপপথে রয়েছে!)

প্রকৃতপক্ষে, এটি যে সিমিলিংক ঠিক করে না।

যাইহোক, অল্প স্ক্রিপ্ট রান print()গুলি sys.pathএবং (আমার অপেক্ষাকৃত ডিফল্ট সেটআপ উপর অন্তত) 2.6 গ্রন্থাগার ডিরেক্টরি হয় পথে এবং 2.7 dirs হয় না পথে। না হয় Currentসেই পথের সাথে সংযুক্ত ডিরেক্টরি। সুতরাং এটি বেশিরভাগ স্ক্রিপ্টগুলির জন্য সমস্যা হওয়া উচিত নয়।

যাইহোক, এটি সম্ভব n't পরীক্ষা করা হয়নি sy যে সিমলিংকটি Currentহয় easy_installবা দ্বারা ব্যবহৃত হয় pip। এটি সমস্যা সৃষ্টি করবে। এটি অবশ্যই কোনও বাগের মতো মনে হয় যা আপনি পাইথন সংস্করণ আপডেট করার সময় সিমলিংক আপডেট হয় না।


3
আপনি ঠিক বলেছেন। আমি একটি দীর্ঘ সময় আগে MacPython ইনস্টল এবং যে মাতাল আপ আমার পথ পরিবর্তনশীল তাই ছিল pythonতীক্ষ্ন /Library/Frameworks/Python.framework/Versions/Current/bin। স্বাভাবিকভাবেই এটি 2.6 এ আপগ্রেড হয়নি। সুতরাং আমি আমার PATH ভেরিয়েবলটি গুগলে যে ডিফল্ট হিসাবে পেয়েছি তার সাথে প্রতিস্থাপন করেছি এবং এখন আমার সিস্টেম থেকে ম্যাক পাইথন সরিয়ে ফেলব।
এসবিএসটিএন

@ এসবিএসটিএন আমার একই সমস্যা হয়েছে (অজগর পথটি নির্দেশ করে /Library/Frameworks/Python.framework/Versions/Current/bin) আমি কীভাবে এটি পরিবর্তন করব?
Zach

কোনও লাইব্রেরি / ফ্রেমওয়ার্ক / পাইথন * না থাকায় Xcode4 এর সাথে কাজ করে না বা / usr / bin / পাইথন অন্য কোথাও নির্দেশ করে না। কোন ধারনা? ম্যাকপোর্টস সমাধান হতে পারে তবে আমি এটি ইনস্টল করতে চাই না।
অ্যালেক্স

আমি এক্সকোড 4 ইনস্টল করেছি এবং এটি এখনও বর্ণিত হিসাবে কাজ করে। /usr/bin/pythonএকটি এক্সিকিউটেবল, একটি লিঙ্ক নয়। /usr/bin/python2.6একটি লিঙ্ক যা নির্দেশ করে ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6। এটি দেওয়া যে পাইথন এক্সিকিউটেবল /System/Libraryএটিতে Xcode এর সংস্করণ ইনস্টল করা আছে কিনা তা নির্বিশেষে উপলব্ধ হওয়া উচিত available
Nate

লোকেরা যা বলছে তা তা করে না। কেন এটি উত্তর নিশ্চিত।
010110110101

12

আমি ম্যাক পোর্ট ব্যবহার করার পরামর্শ দেব ...

পাইথন_সलेक्ट নামে একটি প্যাকেজ রয়েছে যা সমান্তরালে পাইথন ব্যবহার করতে দেয়। সুতরাং আগে ইনস্টল না থাকলে প্রথমে ম্যাক পোর্টগুলি ইনস্টল করুন।

প্রথমে পাইথন_সलेक्ट প্যাকেজটি ইনস্টল করুন:

sudo port install python_select

ইতিমধ্যে এখন আপনি আপনার সিস্টেমে কোন অজগর বিতরণ উপলব্ধ তা পরীক্ষা করতে পারেন। কেবল আদেশটি জারি করুন:

port select --list python     (MacPorts 2.x)
python_select -l              (MacPorts 1.x)

আমার ক্ষেত্রে এটি অন্তত পাইথন সংস্করণ স্নো চিতাবাঘ সঙ্গে ডিফল্টরূপে আসে এ মুদ্রিত: python26-apple

port select --show python     (MacPorts 2.x)
python_select -s              (MacPorts 1.x)

বর্তমানে নির্বাচিত সংস্করণ, যেমন দেখায় python26-apple। সুতরাং আপনি দেখুন, এই প্যাকেজটি ম্যাকের সাথে দুর্দান্তভাবে খেলবে। আরও বিকল্প ইস্যু জন্য

port select                   (MacPorts 2.x)
python_select -h              (MacPorts 1.x)

বন্দরগুলির সংগ্রহস্থলে পাওয়া অজগর সংস্করণটি অনুসন্ধান করার চেয়ে আপনি:

port search python

এটি একটি দীর্ঘ তালিকা তৈরি করবে পাইথন পাওয়া যাবে।

পছন্দসই প্যাকেজ ইনস্টল করতে, উদাহরণস্বরূপ পাইথন ২.৪ চালান:

sudo port install python24

এখন python_select -sনতুনভাবে ইনস্টল করা অজগরটি প্রদর্শন করবে। পাইথন ২.৪ ইস্যুতে স্যুইচ করতে:

sudo port select --set python python24  (MacPorts 2.x)
sudo python_select python24             (MacPorts 1.x)

এই কমান্ডটি শেলের মধ্যে স্থির থাকে।


5

ধরে নিচ্ছি আপনি ব্যাশ ব্যবহার করছেন, টাইপ করুন:

% type -a python

এটি আপনাকে আপনার পাথের সমস্ত "অজগর" এক্সিকিউটেবল, এলিয়াস, শেল বিল্টিন (সম্ভবত কোনও নয়) বা ব্যাশ ফাংশন দেখিয়ে দেবে।

এটি আপনাকে এখানে কী চলছে তা আরও ভালভাবে সনাক্ত করতে সহায়তা করবে।


3

আপনি পছন্দসই সংস্করণে একটি সিমিলিংক তৈরি করতে চান।

cd /Library/Frameworks/Python.framework/Versions 
sudo rm Current 
sudo ln -s /Library/Frameworks/Python.framework/Versions/2.6 Current

এটি আপনার ডিফল্ট পাইথন সংস্করণে বর্তমান পয়েন্টারটিকে সরিয়ে দেয় এবং এটি আপনার 2.6 সংস্করণে সেট করে।


1
এটি আমি যা করেছি তার অনুরূপ। তবে পরিবর্তে আমি লিংকটি / usr / bin এ রেখেছি এবং এটিকে "পাইথন" (অ্যাপল যে পুরানো "পাইথন" এক্সিকিউটেবল প্রযোজ্য তা ওভাররাইড করে) বলেছিলাম। তাই: sudo ln -s /path/to/2.7 /usr/bin/python। এটি লিনাক্সে এইভাবে করা হয় এবং এটি ঠিক তা বোঝায়।
নচট

0

আদর্শ (আইএমও) নয়, এটি pythonআমার মধ্যে সন্ধানকারী সমস্ত অ্যাপ্লিকেশনকে ঠিক করেছে /usr/local/bin/

sudo cp /usr/local/bin/python3 /usr/local/bin/python

অবশ্যই, সর্বশেষ পাইথন সংস্করণ ইনস্টল করার পরে।


এটি সত্যিই খারাপ ধারণা। সিমলিংক ব্যবহার করে বোঝা যায়, তবে পিছনে পিছনে বাইনারিগুলি অনুলিপি করা ভাল ধারণা নয়।
জাকুজে

বোঝা গেল, আমি টার্মিনালে পাইথন টাইপ করতে চাই এবং পাইথন 3.x এর দিকে ইঙ্গিত করবো ... এটিকে সঠিকভাবে ঠিক করতে দেরি না করে।
এজিডিএম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.