পাইপ-ইনস্টলযোগ্য করার জন্য আমি কীভাবে পাইথন অ্যাপ্লিকেশনটি প্যাকেজ করব?


95

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

আমি প্যাকেজিং অংশ আপ। উদাহরণস্বরূপ গিটহাবের অনেকগুলি জাঙ্গো অ্যাপ্লিকেশনগুলি বেশিরভাগ ক্ষেত্রে একইভাবে বান্ডিল হয় (মোটামুটিভাবে)। আমি উদাহরণ হিসাবে জাঙ্গো-ইউনি-ফর্মগুলি ব্যবহার করব ।

একটি ধারণা আমি করছি যে হ'ল MANIFEST.inএবং setup.pyকেবলমাত্র প্রয়োজনীয় টুকরোগুলিই পাইপটির কাজ করা উচিত। এটা কি ঠিক? আমার অনুমানটি ভুল হলে অন্য কোন উপাদানগুলি প্রয়োজনীয়?

প্রয়োজনীয় প্যাকেজিং ফাইলগুলি কি সাধারণত উত্পন্ন হয়, না সেগুলি হাতে তৈরি হয়? নির্ভরতা বর্ণনা করা যায় এবং তারপরেও ইনস্টল করা যায়? আমার অ্যাপ্লিকেশন এর উপর নির্ভর করে django-uni-formsএবং আমি এটি requirements.txtআমার অ্যাপ্লিকেশনটির মধ্যে একটি ফাইলে তালিকাভুক্ত করেছি যা আমি নির্ভরতা ইনস্টল করতে ব্যবহার করি; কিন্তু এটি কি এমন কিছু যা প্যাকেজিং সিস্টেম যত্ন নিতে পারে?

আমার অ্যাপ্লিকেশনটি এমনভাবে প্যাকেজ করতে আমার কী পদক্ষেপগুলি অনুসরণ করতে হবে যাতে পাইপ এটি এবং কোনও নির্ভরতা ইনস্টল করতে সক্ষম হবে?

উত্তর:


88

হ্যাঁ, MANIFEST.inএবং setup.pyযথেষ্ট হতে হবে।

এই ব্লগ পোস্টটিতে সত্যিকার অর্থে এই বিষয়ে কিছু ভাল তথ্য রয়েছে: একটি জাজানো পুনরায় ব্যবহারযোগ্য অ্যাপ্লিকেশনটি প্যাকেজিং

এবং এখানে আরও একটি ভাল, বিস্তারিত ওভারভিউ যা আমাকে অনেক সাহায্য করেছে: পাইথন প্যাকেজিং ব্যবহারকারী গাইড

বিশেষত আপনার স্ট্যাটিক ফাইলগুলি (টেমপ্লেটগুলি) অন্তর্ভুক্ত করার টিপসগুলি গুরুত্বপূর্ণ কারণ এটি প্রথমে সুস্পষ্ট নাও হতে পারে।

এবং হ্যাঁ, আপনি আপনার প্রয়োজনীয় প্যাকেজগুলি নির্দিষ্ট করতে পারেন setup.pyযা আপনার অ্যাপ্লিকেশন ইনস্টল করার সময় স্বয়ংক্রিয়ভাবে আনা হয়।

উদাহরণ স্বরূপ:

    install_requires = [
        'django-profiles',
        'django-uni-forms',
    ],

স্পষ্টতই এখন আমাদের দুটি জায়গা রয়েছে যেখানে নির্ভরতা সংজ্ঞায়িত করা হয়েছে, তবে এর অর্থ এই নয় যে এই তথ্যগুলি নকল করা আছে: setup.py বনাম প্রয়োজনীয়তা.txt

এই সেটআপের মাধ্যমে আপনার প্যাকেজটি ইনস্টলযোগ্য হবে pip


পিয়ের মন্তব্যে যেমন উল্লেখ করেছেন, জ্যাঙ্গোর অফিসিয়াল ডকুমেন্টেশনে এখন একটি প্রাসঙ্গিক বিভাগও রয়েছে: আপনার অ্যাপ্লিকেশনটি প্যাকেজিং

এবং তারপরে এই "সম্পূর্ণরূপে অসম্পূর্ণ" গাইড রয়েছে, যা পিআইপিআইতে প্যাকেজিং এবং প্যাকেজ আপলোড করার বিষয়ে সত্যিই দুর্দান্ত ধারণা দেয়: আপনার শ্রমের ভালবাসা ভাগ করে নিচ্ছে: পিপিআই কুইক অ্যান্ড ডার্টি


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