আইপিথন নোটবুকগুলি সংস্করণ নিয়ন্ত্রণে রাখার জন্য একটি ভাল কৌশল কী ?
সংস্করণ নিয়ন্ত্রণের জন্য নোটবুকের ফর্ম্যাটটি বেশ আরামদায়ক: যদি কেউ নোটবুক এবং আউটপুটগুলি সংস্করণ করতে চায় তবে এটি বেশ ভালভাবে কাজ করে। বিরক্তি তখন আসে যখন সেল আউটপুটগুলি (যেমন "বিল্ড প্রোডাক্টস") বাদ দিয়ে কেবল ইনপুটটি নিয়ন্ত্রণ করতে চায় যা বিশেষত চলচ্চিত্র এবং প্লটগুলির জন্য বড় বাইনারি ব্লব হতে পারে। বিশেষত, আমি একটি ভাল ওয়ার্কফ্লো খুঁজে পাওয়ার চেষ্টা করছি যা:
- আমাকে আউটপুট সহ বা বাদ দিয়ে নির্বাচন করতে দেয়,
- যদি আমি এটি না চান তবে আমাকে দুর্ঘটনাবশত আউটপুট প্রতিপন্ন করা থেকে বিরত রাখে,
- আমাকে আমার স্থানীয় সংস্করণে আউটপুট রাখতে দেয়,
- আমার সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ব্যবহার করে যখন আমার ইনপুটগুলিতে পরিবর্তন এসেছে তখন তা দেখতে দেয় (যেমন আমি যদি কেবলমাত্র সংস্করণটি ইনপুটগুলিকে নিয়ন্ত্রণ করি তবে আমার স্থানীয় ফাইলের আউটপুট থাকে, তবে আমি ইনপুটগুলি পরিবর্তন হয়েছে কিনা তা দেখতে সক্ষম হতে চাই (প্রতিশ্রুতিবদ্ধ হওয়া আবশ্যক )। সংস্করণ নিয়ন্ত্রণ স্থিতি কমান্ড ব্যবহার করা সর্বদা একটি পার্থক্য নিবন্ধভুক্ত করবে যেহেতু স্থানীয় ফাইলের আউটপুট রয়েছে)
- আমাকে আপডেট ওয়ার্কিং নোটবুক থেকে আমার ওয়ার্কিং নোটবুক (যা আউটপুট ধারণ করে) আপডেট করতে দেয়। (হালনাগাদ)
উল্লিখিত হিসাবে, যদি আমি ফলাফলগুলি অন্তর্ভুক্ত করতে পছন্দ করি ( উদাহরণস্বরূপ এনবিভিউয়ার ব্যবহার করার সময় যা ઇચ્છનીય ), তবে সবকিছু ঠিক আছে। সমস্যাটি যখন আমি আউটপুটটি সংস্করণ করতে চাই না । নোটবুকের আউটপুট কেটে ফেলার জন্য কিছু সরঞ্জাম এবং স্ক্রিপ্ট রয়েছে তবে প্রায়শই আমি নিম্নলিখিত সমস্যাগুলির মুখোমুখি হই:
- আমি আউটপুট সহ ঘটনাক্রমে একটি সংস্করণ প্রতিশ্রুতিবদ্ধ করি, যার ফলে আমার সংগ্রহশালা দূষিত হয়।
- আমি সংস্করণ নিয়ন্ত্রণ ব্যবহার করার জন্য আউটপুট সাফ করি, তবে আউটপুটটিকে আমার স্থানীয় অনুলিপিতে রাখি (কখনও কখনও উদাহরণস্বরূপ পুনরুত্পাদন করতে কিছু সময় লাগে)।
- কিছু স্ট্রিপ্ট যা স্ট্রিপ আউটপুট
Cell/All Output/Clear
মেনু বিকল্পের তুলনায় ফর্ম্যাটটি সামান্য পরিবর্তন করে , যার ফলে ডিফগুলিতে অযাচিত শব্দ তৈরি হয়। এটি কয়েকটি উত্তর দ্বারা সমাধান করা হয়েছে। - ফাইলটির একটি পরিষ্কার সংস্করণে পরিবর্তনগুলি টানাকালীন, আমার সমস্ত কিছুই পুনরায় চালিত না করে আমার এই পরিবর্তনগুলি আমার কার্যকরী নোটবুকে অন্তর্ভুক্ত করার কিছু উপায় খুঁজে বের করতে হবে। (হালনাগাদ)
আমি কয়েকটি বিকল্প বিবেচনা করেছি যা আমি নীচে আলোচনা করব, তবে এখনও একটি ভাল বিস্তৃত সমাধান খুঁজে পাইনি। একটি সম্পূর্ণ সমাধান আইপিথনে কিছু পরিবর্তন প্রয়োজন হতে পারে বা কিছু সাধারণ বাহ্যিক স্ক্রিপ্টগুলির উপর নির্ভর করতে পারে। আমি বর্তমানে মার্উরিয়াল ব্যবহার করি , তবে এমন একটি সমাধান চাই যা গিটের সাথেও কাজ করে : একটি আদর্শ সমাধানটি সংস্করণ-নিয়ন্ত্রণ অগ্নিস্টিক।
এই ইস্যুটি বহুবার আলোচনা করা হয়েছে, তবে ব্যবহারকারীর দৃষ্টিকোণ থেকে কোনও সুস্পষ্ট বা সুস্পষ্ট সমাধান পাওয়া যায়নি। এই প্রশ্নের উত্তরের অবশ্যই একটি চূড়ান্ত কৌশল সরবরাহ করা উচিত। আইপিথনের একটি সাম্প্রতিক (এমনকি বিকাশ) সংস্করণ বা সহজেই ইনস্টল হওয়া এক্সটেনশন প্রয়োজন হলে এটি ঠিক আছে ।
আপডেট করুন: আমি বাজানো হয়েছে আমার মডিফাই করা নোটবুক সংস্করণ ঐচ্ছিকভাবে একটি সংরক্ষণ .clean
ব্যবহার করে সংরক্ষণ করুন যে সঙ্গে সংস্করণ গ্রেগরি Crosswhite এর পরামর্শ । এটি আমার বেশিরভাগ সীমাবদ্ধাকে সন্তুষ্ট করে তবে নীচের সমাধান না করে:
- এটি এখনও একটি স্ট্যান্ডার্ড সমাধান নয় (আইপথন উত্সে কোনও পরিবর্তন প্রয়োজন। সাধারণ এক্সটেনশন সহ এই আচরণটি অর্জনের কোনও উপায় আছে? কিছুটা অন-সেভ হুকের প্রয়োজন।
- আমার বর্তমান ওয়ার্কফ্লো নিয়ে একটি সমস্যা হচ্ছে পরিবর্তনগুলি টানছে। এগুলি
.clean
ফাইলে আসবে এবং তারপরে কোনওভাবে আমার কার্যকরী সংস্করণে সংহত করা দরকার। (অবশ্যই, আমি সর্বদা নোটবুকটি পুনরায় সম্পাদন করতে পারি, তবে এটি একটি ব্যথা হতে পারে, বিশেষত যদি কিছু ফলাফল দীর্ঘ গণনা, সমান্তরাল গণনা ইত্যাদির উপর নির্ভর করে) তবে কীভাবে এটি সমাধান করা যায় সে সম্পর্কে আমার এখনও ভাল ধারণা নেই । আইপ্যাচের মতো কোনও এক্সটেনশনের সাথে জড়িত কোনও ওয়ার্কফ্লো কাজ করতে পারে তবে এটি কিছুটা জটিল বলে মনে হচ্ছে।
মন্তব্য
আউটপুট সরানো (স্ট্রিপিং)
- নোটবুকটি চলতে থাকলে,
Cell/All Output/Clear
আউটপুট সরানোর জন্য মেনু বিকল্পটি ব্যবহার করতে পারেন । - আউটপুট অপসারণের জন্য কিছু স্ক্রিপ্ট রয়েছে যেমন স্ক্রিপ্ট nbstripout.py যা আউটপুট সরিয়ে দেয় তবে নোটবুক ইন্টারফেস ব্যবহার করার মতো একই আউটপুট উত্পাদন করে না। অবশেষে এটি আইপথন / এনবি কনভার্ট রেপোতে অন্তর্ভুক্ত ছিল , তবে এই পরিবর্তনগুলি এখন আইপিথন / আইপথন অন্তর্ভুক্ত করা হয়েছে বলে উল্লেখ করা হয়েছে , তবে সংশ্লিষ্ট কার্যকারিতা এখনও অন্তর্ভুক্ত করা হয়নি বলে মনে হয়। (আপডেট) বলা হচ্ছে, গ্রেগরি ক্রসহাইটের সমাধান দেখায় যে আইপিথন / এনবি কনভার্ট না করেও এটি করা বেশ সহজ solution, সুতরাং এটি সঠিকভাবে হুক করা যেতে পারে যদি এই পদ্ধতির সম্ভবত কার্যকর হয়। (প্রতিটি সংস্করণ নিয়ন্ত্রণ সিস্টেমের সাথে এটি সংযুক্ত করা ভাল ধারণা হিসাবে মনে হয় না - এটি কোনওভাবে নোটবুকের ব্যবস্থার সাথে জড়িত হওয়া উচিত))
নিউজগ্রুপ
সমস্যা
- 977: নোটবুক বৈশিষ্ট্য অনুরোধ (খুলুন) ।
- 1280: ক্লিয়ার-অল অন সেভ অপশন (ওপেন) । ( এই আলোচনা থেকে অনুসরণ করা ।)
- 3295: স্বয়ংক্রিয় রফত নোটবুকগুলি: কেবলমাত্র স্পষ্টভাবে চিহ্নিত কক্ষগুলি রফতানি করুন (বন্ধ) । এক্সটেনশনের দ্বারা সমাধান করা 11 রাইটনএন্ডএকসেট যাদু (মার্জ করা) যুক্ত করুন ।
অনুরোধ টানুন
- 1621: "সমস্ত আউটপুট সাফ করুন" (মার্জ করা) -এ প্রম্পট সংখ্যাগুলিতে সাফ করুন । (আরও দেখুন 2519 (মার্জ হওয়া) ।
- 1563: ক্লিয়ার_আউটপুট উন্নতি (মার্জ করা) ।
- 3065: নোটবুকের পৃথক-ক্ষমতা (বন্ধ) ।
- 3291: সংরক্ষণ করার সময় আউটপুট কক্ষগুলি এড়িয়ে যাওয়ার বিকল্প যুক্ত করুন। (বন্ধ) । এটি অত্যন্ত প্রাসঙ্গিক বলে মনে হয়, তবে "ক্লিন / স্মাড" ফিল্টার ব্যবহারের পরামর্শের সাথে বন্ধ করে দেওয়া হয়েছিল। একটি প্রাসঙ্গিক প্রশ্ন আপনি গিট ডিফ চালানোর আগে যদি আউটপুট বন্ধ করতে চান তবে আপনি কী ব্যবহার করতে পারেন? উত্তর দেওয়া হয়নি বলে মনে হচ্ছে।
- 3312: ডাব্লুআইপি: নোটবুক হুক সংরক্ষণ করুন (বন্ধ) ।
- 3747: ipynb -> ipynb ট্রান্সফর্মার (বন্ধ) । এটি 4175 সালে পুনর্বাসিত হয় ।
- 4175: nbconvert: জিনজালেস রফতানিকার বেস (মার্জড) ।
- 142: কোনও ইনপুট দেওয়া না হলে (ওপেন) এনবিস্ট্রিপআউটে STDIN ব্যবহার করুন ।
--script
বিকল্পটি নিয়ে যাচ্ছিলাম , তবে তা সরিয়ে দেওয়া হয়েছে। পোস্ট-সেভ হুক বাস্তবায়িত না হওয়া পর্যন্ত আমি অপেক্ষা করছি ( যা পরিকল্পনা করা হয়েছে ) যে মুহুর্তে আমি মনে করি যে আমি বেশ কয়েকটি কৌশল সমন্বিত একটি গ্রহণযোগ্য সমাধান দিতে সক্ষম হব।