মনে রাখবেন যে আমি আর এই উত্তরটি আপডেট করছি না। আমার ব্যক্তিগত সাইটে http://python-notes.curiousefficiency.org/en/latest/python3/questions_and_answers.html এ পাইথন 3 কিউ এবং এ রয়েছে
পূর্ববর্তী উত্তর:
(স্থিতি আপডেট, সেপ্টেম্বর ২০১২)
পাইথন 3.0.০ প্রকাশের সময় আমরা (অর্থাত পাইথন কোর বিকাশকারীরা) পূর্বাভাস দিয়েছিলাম যে ২.x সিরিজের উপরে নতুন প্রকল্পগুলির জন্য "ডিফল্ট" পছন্দ হয়ে উঠতে ৩.x এর জন্য প্রায় ৫ বছর সময় লাগবে। সেই ভবিষ্যদ্বাণীটি হ'ল কেন 2.7 রিলিজের জন্য পরিকল্পিত রক্ষণাবেক্ষণ সময় এত দীর্ঘ is
মূল পাইথন 3.0.০ প্রকাশে দুর্বল আইও পারফরম্যান্সের সাথে কিছু সমালোচনামূলক সমস্যা দেখা দিয়েছে যা এটি বেশিরভাগ ব্যবহারিক উদ্দেশ্যে কার্যকরভাবে অকেজো করে তুলেছে, তাই ২০০৯ সালের শেষের দিকে পাইথন ৩.১ প্রকাশের সময়রেখাটি শুরু করা আরও বোধগম্য। আইও এর পারফরম্যান্স সমস্যাগুলিও 3.0.z রক্ষণাবেক্ষণ প্রকাশের কারণ নয়: এর কোনও কারণ নেই যে 3.0 কে 3.1 এ উন্নীত করার সাথে থাকতে হবে)।
লেখার সময় (সেপ্টেম্বর ২০১২), এর অর্থ আমরা বর্তমানে রূপান্তর প্রক্রিয়াতে 3 বছরেরও বেশি সময় পেরিয়েছি এবং সেই ভবিষ্যদ্বাণীটি এখনও ট্র্যাকের মধ্যে রয়েছে বলে মনে হচ্ছে।
পাইথন 3 কোড টাইপ করা লোকেরা নিয়মিতভাবে print
ফাংশন হওয়ার মতো সিনট্যাকটিক পরিবর্তন দ্বারা দংশন করে , এটি আসলে লাইব্রেরি পোর্টিংয়ের কোনও ঝামেলা নয় কারণ স্বয়ংক্রিয় 2to3
রূপান্তর সরঞ্জামটি এটি বেশ সুখে পরিচালনা করে।
অনুশীলনের সবচেয়ে বড় সমস্যাটি আসলে একটি শব্দার্থক সমস্যা: পাইথন 3 আপনাকে পাইথন 2 এর মতোভাবে টেক্সট এনকোডিংগুলি দিয়ে দ্রুত এবং আলগাভাবে খেলতে দেয় না। আপনি করতে হবে: এই পাইথন 2 ওভার এর সর্বশ্রেষ্ঠ সুবিধা, কিন্তু porting সবচেয়ে বড় বাধা উভয় ঠিক (যেহেতু 2.x, যে কোড অনেক চুপটি সঙ্গে ভুল তথ্য উত্পাদিত সঠিকভাবে কাজ করার পোর্ট পেতে আপনার ইউনিকোড হ্যান্ডলিং সমস্যা নন-এএসসিআইআই ইনপুট, কাজের ছাপ দেয়, বিশেষত এমন পরিবেশে যেখানে অ-এএসসিআইআই ডেটা অস্বাভাবিক হয়)।
এমনকি পাইথন 3.0.০ এবং ৩.১ এর স্ট্যান্ডার্ড লাইব্রেরিতে এখনও ইউনিকোড হ্যান্ডলিংয়ের সমস্যা রয়েছে যার ফলে প্রচুর লাইব্রেরি (বিশেষত ওয়েব পরিষেবাদির সাথে সম্পর্কিত) পোর্ট করা কঠিন হয়ে পড়ে।
৩.২ জ্যাঙ্গোর মতো লাইব্রেরি এবং ফ্রেমওয়ার্কের জন্য আরও ভাল লক্ষ্য সরবরাহ করে, এই সমস্যার অনেকগুলি সমাধান করেছে। ৩.২ এছাড়াও wsgiref
3.x এর প্রথম ওয়েব সংস্করণ (ওয়েব সার্ভার এবং পাইথনে লিখিত ওয়েব অ্যাপ্লিকেশনগুলির মধ্যে যোগাযোগের জন্য ব্যবহৃত মূল স্ট্যান্ডার্ড) নিয়ে এসেছিল , যা ওয়েব স্পেসে গ্রহণের জন্য প্রয়োজনীয় পূর্বশর্ত ছিল।
নুমপি এবং সায়পাইয়ের মতো মূল নির্ভরতা এখন পোর্ট করা হয়েছে, ইনস্টলেশন ও নির্ভরতা পরিচালনার সরঞ্জামগুলির মতো zc.buildout
, pip
এবং virtualenv
3.x-র জন্য উপলব্ধ, পিরামিড 1.3 রিলিজ পাইথন 3.2 সমর্থন করে, আগত জ্যাঙ্গো 1.5 রিলিজটিতে পরীক্ষামূলক পাইথন 3 সমর্থন, এবং 12.0 প্রকাশের অন্তর্ভুক্ত রয়েছে ট্যুইস্টেড নেটওয়ার্কিং ফ্রেমওয়ার্কটি পাইথন 3 সামঞ্জস্যপূর্ণ সংস্করণ তৈরির পথ প্রশস্ত করার জন্য পাইথন 2.5 এর সমর্থন বাদ দেয়।
পাইথন 3 সুসংগত লাইব্রেরি এবং ফ্রেমওয়ার্কগুলিতে অগ্রগতির পাশাপাশি, জনপ্রিয় জেআইটি-সংকলিত পাইপাই ইন্টারপ্রেটার বাস্তবায়ন সক্রিয়ভাবে পাইথন 3 সাপোর্টে কাজ করছে।
মাইগ্রেশন প্রক্রিয়া পরিচালনার সরঞ্জামগুলিও উল্লেখযোগ্যভাবে উন্নত হয়েছে। 2to3
সিপিথনের অংশ হিসাবে প্রদত্ত সরঞ্জামের পাশাপাশি (যা এখন ২.x সিরিজের জন্য সমর্থন বজায় রাখার প্রয়োজন নেই এমন অ্যাপ্লিকেশনগুলির এককালীন রূপান্তরগুলির জন্য সবচেয়ে উপযুক্ত হিসাবে বিবেচিত), এছাড়াও রয়েছে python-modernize
, যা 2to3
লক্ষ্যমাত্রার জন্য অবকাঠামো ব্যবহার করে পাইথন 2 এবং পাইথন 3 (বৃহত্তর) সাধারণ উপসেটটি 3 এই সরঞ্জামটি একটি একক কোড বেস তৈরি করে যা six
সামঞ্জস্য গ্রন্থাগারের সহায়তায় পাইথন ২.6+ এবং পাইথন ৩.২+ উভয় দিকে চলবে will পাইথন 3.3 রিলিজ এছাড়াও "কোলাহল" এক প্রধান কারণ ঘটিয়েছে যখন বিদ্যমান ইউনিকোড সচেতন অ্যাপ্লিকেশনের মাইগ্রেট: পাইথন 3.3 আবার স্ট্রিং লিটারেল জন্য 'U' প্রিফিক্স সমর্থন (এটা আসলে না কিপাইথন 3 কিছু - এটা শুধু অনবধানতাবশত এড়াতে পাইথন 3 মাইগ্রেট উপার্জন পুনরুদ্ধার করা হয়েছে কঠিন ইতিমধ্যে যে ব্যবহারকারী সঠিকভাবে তাদের টেক্সট এবং পাইথন 2 বাইনারি লিটারেল) আলাদা ছিল।
সুতরাং আমরা কীভাবে জিনিসগুলি এগিয়ে চলছে তার সাথে খুব খুশি - আমাদের মূল সময় ফ্রেমে যেতে এখনও প্রায় 2 বছর বাকি রয়েছে এবং পুরো পাইথন ইকোসিস্টেমের মাধ্যমে পরিবর্তনগুলি খুব সুন্দরভাবে ফুটে উঠছে।
যেহেতু প্রচুর প্রকল্পগুলি তাদের পাইথন প্যাকেজ সূচক মেটাডেটা সঠিকভাবে সংশোধন করে না, এবং কম সক্রিয় রক্ষণাবেক্ষণকারীদের কিছু প্রকল্প পাইথন 3 সমর্থন যুক্ত করার জন্য প্রস্তুত করা হয়েছে, খাঁটি স্বয়ংক্রিয় পাইপআই স্ক্যানাররা এখনও পাইথন 3 লাইব্রেরির অবস্থা সম্পর্কে অত্যধিক নেতিবাচক দৃষ্টিভঙ্গি দেয় সমর্থন।
পাইপআই-তে পাইথন 3 সমর্থন স্তরের তথ্য পাওয়ার জন্য একটি পছন্দসই বিকল্প হ'ল http://py3ksupport.appspot.com/
এই তালিকাটি ব্যক্তিগতভাবে ব্রেট ক্যানন (দীর্ঘকালীন পাইথন কোর বিকাশকারী) দ্বারা ভুল প্রকল্পের মেটাডেটা হিসাবে চিহ্নিত করার জন্য পাইথন 3 সমর্থন যা সোর্স কন্ট্রোল সরঞ্জামগুলিতে রয়েছে তবে এখনও অফিশিয়াল রিলিজে নেই, এবং যে প্রকল্পগুলিতে আরও আপ টু ডেট রয়েছে বা বিকল্পগুলি যা পাইথন 3 সমর্থন করে many অনেক ক্ষেত্রে, পাইথন 3 এ এখনও পাওয়া যায় নি গ্রন্থাগারগুলি মূল নির্ভরতা এবং / অথবা অন্যান্য প্রকল্পগুলিতে পাইথন 3 সমর্থনের অভাব ব্যবহারকারীর চাহিদাকে কমিয়ে দেয় (যেমন মূল জ্যাঙ্গো কাঠামোটি একবার উপলভ্য হলে পাইথন 3, দক্ষিণ এবং জ্যাঙ্গো-সেলারি সম্পর্কিত সরঞ্জামগুলি পাইথন 3 সমর্থন যুক্ত করার সম্ভাবনা বেশি, এবং পিরামিড এবং জ্যাঙ্গো উভয় ক্ষেত্রে পাইথন 3 সমর্থন উপলব্ধির ফলে এটি জেনেন্টের মতো অন্যান্য সরঞ্জামগুলিতে পাইথন 3 সমর্থন কার্যকর করা সম্ভব হবে)।
Http://getpython3.com এ সাইটটিতে পাইথন 3 এর জন্য বই এবং অন্যান্য সংস্থানগুলির জন্য কয়েকটি দুর্দান্ত লিঙ্ক রয়েছে, এমন কয়েকটি মূল গ্রন্থাগার এবং ফ্রেমওয়ার্কগুলি সনাক্ত করে যা ইতিমধ্যে পাইথন 3 সমর্থন করে এবং বিকাশকারীরা কীভাবে আর্থিক সহায়তা চাইতে পারে সে সম্পর্কে কিছু তথ্য সরবরাহ করে পাইথন 3 তে মূল প্রকল্পগুলি বন্দরতে পিএসএফ।
নতুন প্রকল্পের জন্য পাইথন সংস্করণ চয়ন করার সময় বিবেচনা করার জন্য বিষয়গুলির জন্য সম্প্রদায় উইকি পৃষ্ঠাটি হ'ল আরেকটি ভাল সংস্থান: http://wiki.python.org/moin/Python2orPython3