অন্যান্য লোকেরা আমার অজগর প্রোগ্রামটি চালাতে পারে তা নিশ্চিত করার দৃ Rob় উপায়


17

আমি গিটহাবের উপর একটি অজগর প্রোগ্রাম স্থাপন করতে চাই এবং অন্যান্য লোকেরা তাদের কম্পিউটারে বিভিন্ন ধরণের অপারেটিং সিস্টেমগুলি ডাউনলোড করে ডাউনলোড করতে চাই। আমি অজগর থেকে তুলনামূলকভাবে নতুন কিন্তু এটি ব্যবহার করার জন্য যথেষ্ট পরিমাণে লক্ষ্য করেছি যে সমস্ত অন্তর্ভুক্ত মডিউলগুলির মিশ্রিত সংস্করণগুলি একসাথে কাজ করা পেতে সমস্যা হতে পারে। আমি সবেমাত্র requirements.txt( pipreqsকমান্ডটি দিয়ে উত্পন্ন এবং মোতায়েন করা pip install -r /path/to/requirements.txt) ব্যবহারের সন্ধান পেয়েছি তবে লক্ষ্য requirements.txtকরে খুব অবাক হয়েছিল যে পাইথনের কোন সংস্করণটি ব্যবহার করা হচ্ছে তা প্রকৃতপক্ষে বলা হয়নি যে এটি তার নিজের সম্পূর্ণ সমাধান নয়। সুতরাং আমার প্রশ্নটি হল: আমার প্রকল্পটি ডাউনলোড করা কেউই সম্ভবত এটি সম্ভবতম সমস্যার সাথে চালাতে সক্ষম হবে তা নিশ্চিত করার জন্য নির্দিষ্টকরণ / ফাইল / অন্য কোনও কিছুর সেট প্রয়োজন।

সম্পাদনা: আমার পরিকল্পনাটি ছিল যে কোনও উত্তরই সবচেয়ে বেশি সাফল্য পেয়েছে by তবে এখনও অবধি, 4 টি উত্তর এবং 127 দর্শন পাওয়ার পরেও একটিও উত্তরের একটিরও উচ্চ মূল্য নেই। কিছু উত্তর যদি ভাল না হয় তবে সেগুলি কেন ভাল নয় সে সম্পর্কে কিছু মন্তব্য দেখার পক্ষে দরকারী be


1
সম্ভাব্যতম সমস্যার জন্য, আপনি কি ডকার (বা অন্যান্য ধারক-ভিত্তিক সমাধান) বিবেচনা করেছেন? docker.com
রমজি

পুনরায়: ডকার ... সবে এটি পাওয়া গেছে: "বিকাশকারীরা আশ্বাস দিতে পারেন যে অ্যাপ্লিকেশনটি অন্য কোনও লিনাক্স মেশিনে চলবে" - তবে আমি এটি কোনও ওএসে কাজ করতে চাই। ( ওপেনসোর্স / রিসোর্স / কি- ডকার )
মিক

সাধারণত আপনার কাছে সমস্ত ক্লাসিকাল ওএস: উইন্ডোজ ( ডকস.ডকার / ডকারের জন্য উইন্ডো ) এবং ম্যাক ( ডকস.ডকার / ডকারের জন্য উইন্ডোজ )
রমজী

2
এখানে উত্তর অত্যন্ত প্রাসঙ্গিক। পাইথন প্রোগ্রাম জিনিসগুলি হয় যে sysবা osবা subprocess টাইপ ফাংশন বা একাধিক গাণিতিক / বিশ্লেষণাত্মক? পূর্ববর্তীটি পাইথনের প্রতিটি সংস্করণ দিয়ে পরিবর্তন করতে পারে এবং পরে বেশ সংস্করণটি স্বাধীন হতে পারে। নির্ভরশীল গ্রন্থাগারগুলি কী? নিম্পি এবং পান্ডা প্ল্যাটফর্মগুলি জুড়ে একটি আশ্চর্যজনক কাজ করে যাতে আপনি কেবল আপনার একটি মিনিট সংস্করণ পরীক্ষা করতে পারেন। পাইথনের কোন বড় সংস্করণ? নির্ভরযোগ্য লাইব্রেরির সাথে পাইথন ২.x এবং ৩.x এর পার্থক্য আরও শক্ত হয়ে যায়। আপনি যদি একটি সাধারণ প্রধান রিলিজ লক্ষ্য করে ভাল কোড লিখেন তবে এটি একটি দুর্দান্ত শুরু।
ডগ

2
উত্তরগুলির অগণিত দ্বারা প্রমাণিত হিসাবে, এ সম্পর্কে অনেকগুলি উপায় আছে। আমি প্রয়োগটি কী তা জানার ভিত্তিতে উত্তরগুলি পরিবর্তিত হয় যদি আমি সত্যিই আগ্রহী । আমি বিশ্বাস করতে চাই এটির কোনও ব্যাপার না হওয়া উচিত, তবে আমার সন্দেহ হয় এটি হতে পারে। আমি এটিও মনে করি এটি অনেকটা নির্ভর করে দর্শকের উপর নির্ভর করে। স্যাভি ফিজিক্স পিএইচডি একটি মেশিন লার্নিং অ্যাপ্লিকেশন চালিয়ে বনাম জো ইন্টারনেট চেকারদের একটি পাইগাম খেলছে।
মার্সেল উইলসন

উত্তর:


15

আপনি একটি setup.pyফাইল সেট আপ বিবেচনা করেছেন ? এটি আপনার সমস্ত ... একটি একক জায়গায় ভাল সেটআপ বান্ডিল করার একটি সহজ উপায়। সুতরাং আপনার সমস্ত ব্যবহারকারীর হ'ল ক) আপনার রেপো ক্লোন করুন এবং খ) চালানোর pip install .জন্য রান করুনsetup.py

এই সম্পর্কে একটি দুর্দান্ত স্ট্যাক আলোচনা আছে।

পাশাপাশি অনুরোধ লোক দ্বারা রচিত একটি হ্যান্ডেল উদাহরণ।

এটি বেশিরভাগ ব্যবহারের ক্ষেত্রে আবশ্যক। এখন আপনি যদি এটিকে সত্যই বিতরণযোগ্য করতে চান তবে আপনি আনুষ্ঠানিক বিতরণ কেন্দ্র পাইপিতে এটি স্থাপন করতে চান ।

এর বাইরে আপনি যদি কোনও প্রোগ্রামকে "ওএস স্বাধীন" কীভাবে তৈরি করবেন তা জিজ্ঞাসা করে তবে সেখানে একটি আকার একদম ফিট করে না। এটি আপনার কোড সহ আপনি কী করছেন তার উপর নির্ভর করে। আপনার নির্দিষ্ট কোডটি সেই ওএস এর ইত্যাদির সাথে কীভাবে ইন্টারঅ্যাক্ট করে তা গবেষণা প্রয়োজন etc.


7

এটি করার অনেকগুলি উপায় রয়েছে many আমি প্রত্যেকের পিছনে নীতিগুলি স্কেট করব, এবং এটি ব্যবহারের ক্ষেত্রে।

1. একটি অজগর পরিবেশ

এটি করার অনেকগুলি উপায় রয়েছে। pipenv, কনডা, requirments.txtইত্যাদি।

এর কয়েকটি দিয়ে আপনি পাইথন সংস্করণ নির্দিষ্ট করতে পারেন। অন্যদের সাথে, আপনি জানেন যে এটির সাথে এটি কাজ করে তার কয়েকটি বিস্তৃত বিবরণ নির্দিষ্ট করুন - উদাহরণস্বরূপ, আপনি যদি পাইথন ৩.7 ব্যবহার করেন তবে এটি ৩.6 সমর্থন না করার সম্ভাবনা রয়েছে; কেবল এক বা দুটি ছোটখাট পরিবর্তন আছে। 3.8 পাশাপাশি কাজ করা উচিত।

আর একটি অনুরূপ পদ্ধতি হ'ল setup.py। এগুলি সাধারণত লাইব্রেরি বিতরণ করতে ব্যবহৃত হয় - যেমন পাইআইনস্টলারের (অন্য সমাধানটি আমি নীচে উল্লেখ করব), বা নম্পি, বা ডাব্লু এক্স পাইথন, বা পাইকিউটি 5 ইত্যাদি - আমদানি / কমান্ড লাইন ব্যবহারের জন্য। পাইথন প্যাকেজিং গাইডটি বেশ কার্যকর এবং এখানে প্রচুর টিউটোরিয়াল রয়েছে। (গুগল python setup.py tutorial) আপনি এই ফাইলগুলিতে প্রয়োজনীয়তাও নির্দিষ্ট করতে পারেন।

2. একটি ধারক

ডকার হ'ল বড়। আপনি যদি এটি না শুনে থাকেন, আমি অবাক হব। একটি সারাংশ একটি দ্রুত গুগল সঙ্গে আসে আপ এই , যা আমি অংশ উদ্ধৃত করব:

তাহলে সবাই কেন পাত্রে এবং ডকার পছন্দ করে? জেমস বটমলে, পূর্বে সার্ভার ভার্চুয়ালাইজের সিটিও এবং শীর্ষস্থানীয় লিনাক্স কার্নেল ডেভেলপার, হাইপার-ভি, কেভিএম, এবং জেনের মতো ভিএম হাইপারভাইজারগুলি ব্যাখ্যা করেছিলেন, সমস্তই "ভার্চুয়াল হার্ডওয়্যার অনুকরণের উপর ভিত্তি করে That তার মানে তারা শর্তাবলী মোটা সিস্টেমের জন্য আবশ্যক."

ধারকরা তবে ভাগ করে নেওয়া অপারেটিং সিস্টেম ব্যবহার করে। এর অর্থ তারা সিস্টেম সংস্থান শর্তাবলী হাইপারভাইজারগুলির তুলনায় অনেক বেশি দক্ষ। ভার্চুয়ালাইজ হার্ডওয়্যার পরিবর্তে, পাত্রে একটি একক লিনাক্স উদাহরণের উপরে বিশ্রাম নেওয়া হয়। এর অর্থ আপনি "আপনার অ্যাপ্লিকেশন সহ একটি ছোট, ঝরঝরে ক্যাপসুল রেখে আপনাকে" বেহুদা ৯৯.৯ শতাংশ ভিএম জাঙ্ক ফেলে রেখে যেতে পারেন, "

এটি আপনার জন্য সংক্ষিপ্ত করা উচিত। (নোট করুন আপনার ধারকগুলির জন্য কোনও নির্দিষ্ট ওএসের দরকার নেই))

৩. একটি এক্সিকিউটেবল ফাইল

2 টি প্রধান সরঞ্জাম রয়েছে যা লেখার সময় এটি করে। পাইআইনস্টলার এবং সিএক্স_ফ্রিজে। উভয়ই সক্রিয়ভাবে বিকাশিত। দুটোই ওপেন সোর্স।

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

ব্যক্তিগতভাবে, আমি পাই ইনস্টলারের পছন্দ করি - আমি বিকাশকারীদের মধ্যে একজন of পাইআইনস্টলার কমান্ড লাইন স্ক্রিপ্টের মাধ্যমে এর সমস্ত কার্যকারিতা সরবরাহ করে এবং বেশিরভাগ লাইব্রেরি সমর্থন করে যা আপনি ভাবতে পারেন - এবং আরও সমর্থন করার জন্য প্রসারিত। cx_Freeze এর জন্য একটি সেটআপ স্ক্রিপ্ট দরকার।

দুটি সরঞ্জামই উইন্ডোজ, লিনাক্স, ম্যাকোস এবং আরও অনেক কিছুকে সমর্থন করে। পাইআইনস্টলার একক ফাইল এক্সেস বা একটি ফোল্ডার বান্ডিল তৈরি করতে পারে, যেখানে সিএক্স_ফ্রিজে কেবল একটি ফোল্ডার বান্ডিল সমর্থন করে। পাইআইনস্টলার 3.6 পাইথন 2.7 এবং 3.5-3.7 সমর্থন করে - তবে 4.0 তা করবে না পাইথন ২ সমর্থন করে । সিএক্স_ফ্রিজে শেষ বড় রিলিজ হিসাবে পাইথন ২ সমর্থন বাদ দিয়েছে (.0.০ আমি মনে করি)।

যাইহোক, সরঞ্জাম বৈশিষ্ট্য সম্পর্কে যথেষ্ট; আপনি নিজে এগুলি দেখতে পারেন। ( আরও তথ্যের জন্য https://pyinstaller.org এবং https://cx-freeze.readthedocs.io দেখুন)

এই বিতরণ পদ্ধতিটি ব্যবহার করার সময়, আপনি সাধারণত গিটহাব রেপোতে সোর্স কোড সরবরাহ করেন, ডাউনলোডের জন্য প্রস্তুত বেশ কয়েকজন এক্সেস (প্রতিটি প্ল্যাটফর্মের জন্য একটি) এবং কীভাবে এক্সিকিউটেবল ফাইলে কোডটি তৈরি করবেন সে সম্পর্কে নির্দেশাবলী।


1

এর জন্য আমি এখন পর্যন্ত যে সেরা সরঞ্জামটি ব্যবহার করেছি তা হ'ল পাইপেনভ । এটি কেবল আপনার, বিকাশকারী, পুরো পাইপ + ভার্চুয়ালেনভ কর্মপ্রবাহকে একীভূত করে ও সরল করে তোলে না, তবে এটির গ্যারান্টিও দেয় যে যখন অন্যান্য ব্যক্তিরা আপনার প্রকল্পটি চালায় তখন সমস্ত নির্ভরতার ( সঠিকভাবে পাইথন সহ) সংস্করণগুলি পূরণ হয়।

প্রকল্পের ওয়েবসাইটটি কীভাবে সরঞ্জামটি ব্যবহার করবেন তা ব্যাখ্যা করার ক্ষেত্রে বেশ ভাল কাজ করে তবে সম্পূর্ণতার জন্য আমি এখানে একটি সংক্ষিপ্ত ব্যাখ্যা দেব।

একবার আপনি পাইপেনভ ইনস্টল হয়ে গেলে (উদাহরণস্বরূপ, চালিয়ে pip install --user pipenv) আপনি নিজের প্রকল্পের ডিরেক্টরিতে গিয়ে চালনা করতে পারেন pipenv --python 3.7, সুতরাং পাইপেনভ আপনার প্রকল্পের জন্য একটি নতুন ভার্চুয়ালেনভ তৈরি করবে, একটি পাইপ ফাইল এবং একটি পিপফিল.লক তৈরি করবে (তাদের আরও পরে) । আপনি যদি এগিয়ে যান এবং চালনা করেন তবে pipenv install -r requirements.txtএটি আপনার সমস্ত প্যাকেজ ইনস্টল করবে। এখন আপনি pipenv shellআপনার নতুন ভার্চুয়ালেনভকে সক্রিয় করতে বা pipenv run your_main_file.pyআপনার প্রকল্পটি চালানোর জন্য একটি করতে পারেন।

এখন আসুন আপনার পাইপ ফাইলের সামগ্রীগুলি একবার দেখুন। এটি এর অনুরূপ কিছু হওয়া উচিত:

[packages]
Django = "*"
djangorestframework = "*"
iso8601 = "*"
graypy = "*"
whitenoise = "*"

[requires]
python_version = "3.7"

আপনার প্রকল্পের নির্ভরতার জন্য এই ফাইলটিতে মানব-পঠনযোগ্য স্পেসিফিকেশন রয়েছে (নোট করুন এটি পাইথন সংস্করণটিও নির্দিষ্ট করে)। যদি আপনার প্রয়োজনীয়তা.টিএসটিএসটির সংস্করণগুলি পিন করা থাকে তবে আপনার পাইপফাইলে সেগুলিও থাকতে পারে তবে আপনি নিরাপদে সেগুলিকে ওয়াইল্ডকার্ড করতে পারেন, কারণ সঠিক সংস্করণগুলি পিপফিল.লকটিতে সঞ্চিত রয়েছে। এখন আপনি pipenv updateআপনার নির্ভরতাগুলি আপডেট করার মতো জিনিসগুলি চালাতে পারেন এবং আপনার ভিসিএসে পিপ ফাইল এবং পিপফিল প্রতিশ্রুতি দিতে ভুলবেন না।

লোকেরা একবার আপনার প্রকল্পটি ক্লোন করলে, তাদের যা করতে হবে তা চালানো pipenv installহবে এবং পাইপেনভ বাকীগুলির যত্ন নেবে (এটি তাদের জন্য পাইথনের সঠিক সংস্করণ ইনস্টল করতে পারে)।

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


1

যদি আপনার প্রোগ্রামটি জিইউআই সম্পর্কে কম হয়, বা একটি ওয়েব জিইউআই রয়েছে, তবে আপনি গুগল কোলাবোটারি ব্যবহার করে কোডটি ভাগ করতে পারেন।

https://colab.research.google.com/

প্রত্যেকে এটিকে একই পরিবেশ দিয়ে চালাতে পারে। ইনস্টলেশন প্রয়োজন নেই।


1

আপনার সমস্ত অজগর স্ক্রিপ্টগুলিকে এক এক্সিকিউটেবলে রূপান্তর করা আপনাকে সহায়তা করতে পারে, তবে নীচের আমার উত্তরটি আপনাকে সহায়তা করবে ...

আমি দীর্ঘ 3 বছর ধরে পাইথনটিতে বিশুদ্ধভাবে একটি বড় ডেস্কটপ অ্যাপ্লিকেশন বিকাশ করছি। এটি একটি জিইউআই-ভিত্তিক সরঞ্জাম যা পাইকটি লাইব্রেরির উপরে নির্মিত (কিউটি সি ++ ফ্রেমওয়ার্কের পাইথন-বাইন্ডিংস)।

আমি বর্তমানে " পাইপেক্সে " প্যাকেজিং লাইব্রেরি ব্যবহার করছি : এটি একটি ডিসটুইলস এক্সটেনশন যা পাইথন স্ক্রিপ্ট থেকে স্ট্যান্ডলোন উইন্ডোজ এক্সিকিউটেবল প্রোগ্রামগুলি (32-বিট এবং 64-বিট) তৈরি করতে দেয়; আপনাকে যা করতে হবে তা হ'ল:

  1. py2exe ইনস্টল করুন: পাইপ ইনস্টল py2exe '

  2. একটি সেটআপ.পি স্ক্রিপ্ট তৈরি করুন: এটি চূড়ান্ত EXE (নাম, আইকন, লেখক, ডেটা ফাইল, ভাগ করা লাইব্রেরি ইত্যাদি) নির্দিষ্ট করতে ব্যবহৃত হয়)

  3. সম্পাদন করুন: পাইথন সেটআপ.পিপি পাই 2 এক্সে

আমি ইনস্টলার তৈরি করতে "ইনো সেটআপ" সফ্টওয়্যারটিও ব্যবহার করছি : শর্টকাট তৈরি করা, পরিবেশের ভেরিয়েবল সেট করা, আইকন ইত্যাদি ...


py2exe কয়েক বছরে আপডেট হয়নি। আমি কোনও সাম্প্রতিক কার্যকলাপ খুঁজে পাচ্ছি না can't আমি তখন ধরেই নেব, এটি অবিস্মরণীয়। (এছাড়াও এটি কেবল অজগরকে সমর্থন করে <3.4 that এর অর্থ এটি কেবল অবহেলিত পাইথন সংস্করণকে সমর্থন করে)।
লেগোরুজ

0

আমার মনে হয় আপনি আপনার অজগর https://github.com/celery/celery/tree/master/docker দিয়ে ডকার ব্যবহার করতে পারেন

দয়া করে ফাইলগুলি অনুসরণ করুন এবং আমি মনে করি আপনি অজগর স্ক্রিপ্টগুলির জন্য আপনার ডকার ফাইল তৈরি করার উপায়টি বের করতে পারেন!


-1

কারণ এটি অন্যান্য উত্তরগুলি থেকে অনুপস্থিত, আমি একটি সম্পূর্ণ ভিন্ন দিক যুক্ত করতে চাই:

অংশ পরিক্ষাকরণ.বা সাধারণভাবে পরীক্ষা করা।

সাধারণত, একটি পরিচিত ভাল কনফিগারেশন থাকা ভাল। প্রোগ্রামটির নির্ভরতা কী তা নির্ভর করে আপনাকে প্যাকেজের বিভিন্ন সংমিশ্রণ পরীক্ষা করতে হতে পারে। আপনি এটি স্বয়ংক্রিয় ফ্যাশনে উদাহরণ সহ toxবা সিআই / সিডি পাইপলাইনের অংশ হিসাবে করতে পারেন ।

কী প্যাকেজগুলির সংমিশ্রণের পরীক্ষা করা উচিত তার কোনও সাধারণ নিয়ম নেই, তবে সাধারণত পাইথন 2/3 এর সামঞ্জস্যতা একটি বড় সমস্যা। প্রধান সংস্করণ পার্থক্য সহ প্যাকেজগুলির উপর আপনার যদি দৃ strong় নির্ভরতা থাকে তবে আপনি এই বিভিন্ন সংস্করণের বিপরীতে পরীক্ষা বিবেচনা করতে পারেন।


এটি সফ্টওয়্যার বিকাশের একটি অত্যন্ত গুরুত্বপূর্ণ দিক। যাইহোক, এটি পুরোপুরি প্রশ্নের উত্তর দিতে ব্যর্থ । ইউনিট টেস্টিং কীভাবে কোনও প্রোগ্রাম বিতরণে সহায়তা করে?
লেগোরুজ

আইএমএইচও, ওপি বিশেষত বিতরণ সম্পর্কে জিজ্ঞাসা করছে না। অন্যান্য ব্যক্তিরা যাতে তার প্রোগ্রামটি চালাতে পারেন তা নিশ্চিত করার জন্য তিনি উপায়গুলি জিজ্ঞাসা করেন। আমি মনে করি ইউনিট টেস্টিং আসলে এটি করতে সহায়তা করতে পারে, কারণ প্যাকেজগুলির সেটগুলিতে লোকেরা সীমাবদ্ধ থাকতে পারে। সাধারণভাবে বন্টন প্রশ্নটি গুরুত্বপূর্ণ (এবং এখানে উত্তর দেওয়া হয়েছে) তবে আমি মনে করি একটি বাস্তব বিশ্বের দৃশ্যে আমরা কেবল একটি একক প্যাকেজের জন্য একটি সম্পূর্ণ ভেনভ তৈরির উপর নির্ভর করতে পারি না - এটি কমপক্ষে কিছু মানক কনফিগারেশনের সাথে সামঞ্জস্যপূর্ণ হওয়া দরকার।
দক্ষিণাচী

আমি বিতর্ক করছি না যে ইউনিট পরীক্ষাটি এটি সঠিকভাবে চলে কিনা তা নিশ্চিত করার ক্ষেত্রে মূল্যবান , তবে ওপি "ইনস্টল করা সহজ" ফ্যাশনে কীভাবে কোডটি ভাগ করবেন সে সম্পর্কে জিজ্ঞাসা করেছিল। এই কারণেই আমি মনে করি এটি একটি অবৈধ উত্তর - এই নির্দিষ্ট প্রশ্নের জন্য।
লেগোরুজ

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

কৌতূহলের বাইরে আমি কী বলেছি তার থেকে আলাদা কীভাবে? ... making sure it runs correctly ...? পরীক্ষাটি এটি সঠিকভাবে
চলেছে

-1

অজগর প্যাকেজিংয়ের বিষয়টি যখন আপনি বেছে নিতে পারেন (জ্ঞান শক্তি হ'ল): আমি আপনাকে বিদ্যমান কয়েকটি বিদ্যমান সমাধানগুলির একটি খুব সংক্ষিপ্ত সংক্ষিপ্ত বিবরণ দেব:

  1. আপনার প্রকল্পের কাঠামোয় প্রদত্ত গাইডলাইনগুলি অনুসরণ করুন , এই সম্মেলনগুলি পাইথন সম্প্রদায়ের দ্বারা ব্যাপকভাবে গৃহীত হয় এবং নতুনরা পাইথনগুলিতে কোডিং শুরু করলে এটি সাধারণত একটি ভাল সূচনার পয়েন্ট। এই নির্দেশিকাগুলি অনুসরণ করে অজগরবিদরা আপনার প্রকল্প / উত্সটি গিথুব বা অন্যান্য অনুরূপ স্থানে দেখে তা সরাসরি ইনস্টল করবেন কীভাবে তা জানতে পারবেন। এছাড়াও, আপনার প্রকল্পটি পাইপিতে আপলোড করার পাশাপাশি সেই নিয়মগুলি মেনে সিআই যুক্ত করা ব্যথাহীন হবে।

  2. আপনার প্রকল্পটি স্ট্যান্ডার্ড কনভেনশন অনুসারে যথাযথভাবে কাঠামোবদ্ধ হয়ে গেলে, পরবর্তী পদক্ষেপটি উপলভ্য কিছু ফ্রিজার ব্যবহার করা হতে পারে , যদি আপনি আপনার শেষ ব্যবহারকারীদের কাছে প্যাকেজটি স্থাপন করতে চান তবে তারা তাদের অজগরটি ইনস্টল করতে বাধ্য না করেই ইনস্টল করতে পারে এমন একটি প্যাকেজ তাদের পাঠাতে পারে d মেশিন। সচেতন থাকুন যদিও এই সরঞ্জামগুলি আপনাকে কোনও কোড সুরক্ষা সরবরাহ করবে না ... অন্যথায় বলেছে, চূড়ান্ত নিদর্শনগুলি থেকে মূল পাইথন কোডটি বের করা সব ক্ষেত্রেই ক্ষুদ্র হবে

  3. যদি আপনি এখনও আপনার প্রকল্পটি কোনও ব্যবহারকারী নির্ভরতা ইনস্টল করতে বাধ্য না করে আপনার প্রকল্পের কাছে প্রেরণ করতে চান এবং আপনি কোড সুরক্ষা সম্পর্কেও যত্নবান হন যাতে আপনি যে কোনও বিদ্যমান ফ্রিজার যেমন নুট্টকা , শেডস্কিন , সিথন বা অনুরূপ। সাধারণত এই সরঞ্জামগুলির দ্বারা উত্পাদিত নিদর্শনগুলি থেকে কোডটি বিপরীত করা মোটেও নগণ্য নয় ... অন্যদিকে ক্র্যাকিং সুরক্ষা আলাদা বিষয় এবং যদি আপনি আপনার শেষ ব্যবহারকারীকে কোনও শারীরিক বাইনারি সরবরাহ না করেন তবে আপনি বেশি কিছু করতে পারবেন না এগুলি সম্পর্কে ধীরগতির ব্যতীত অন্যটি :)

  4. এছাড়াও, আপনার অজগর প্রকল্পে আপনার যদি বাহ্যিক ভাষা ব্যবহার করার প্রয়োজন হয় তবে অন্য একটি ক্লাসিক লিঙ্ক মনে পড়বে তা হ'ল https://wiki.python.org/moin/IntegratingPythonWithOtherLanguages , সিআইতে এই জাতীয় সরঞ্জামগুলির বিল্ড সিস্টেমগুলি যুক্ত করে অনুসরণ করে 1 এর নিয়মগুলি বেশ সহজ হবে।

এটি বলেছিল, আমি বুলেটপয়েন্ট 1 এ লেগে থাকার পরামর্শ দিচ্ছি কারণ আমি জানি যে আপনাকে শুরু করার চেয়ে ভাল হবে, সেই নির্দিষ্ট বিন্দুটি পাইথন "স্ট্যান্ডার্ড" প্রকল্পগুলির জন্য প্রচুর বিদ্যমান ব্যবহারের ক্ষেত্রেও আবরণ করা উচিত।

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

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