আমি কীভাবে একটি একক পাইথন স্ক্রিপ্টের জন্য একটি ডেব প্যাকেজ তৈরি করব?


78

আমার কাছে একটি একক পাইথন স্ক্রিপ্ট রয়েছে যা আমি দেব প্যাকেজ হিসাবে বিতরণ করতে চাই। এটি একটি সূচক যা ইউনিটি প্যানেলে স্থানীয় তারিখটি দেখায়। আমি স্ক্রিপ্ট বা বাইনারিগুলি থেকে একটি .deb প্যাকেজ তৈরি অনুসরণ করেছিলাম তবে আমি কোনও ডেব প্যাকেজ তৈরি করতে পারি না কারণ এটি ব্যর্থ হয়।

আমার কী করা উচিত তা সম্পর্কে কেউ আমাকে ধাপে ধাপে নির্দেশনা দিতে পারেন? আমি যতদূর জানি এই স্ক্রিপ্ট নির্ভর করে python-appindicator

দ্রষ্টব্য:
আমি দেবিয়ান / উবুন্টু প্যাকেজিং নির্দেশাবলীর কোনও লিঙ্ক চাই না। আমি তাদের বেশিরভাগ দেখেছি। আমি তাদের প্রাথমিক বন্ধুত্বপূর্ণ মনে করি না।


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

আমি প্যাকেজিং সম্পর্কে জানি না, তবে আপনি যে কার্যকারিতাটি যুক্ত করার চেষ্টা করছেন তা ইউনিটিতে অন্তর্নির্মিত।
এটি 1: 12 এ উইলেম

উত্তর:


84

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

এখানে আপনার মূল উত্স প্যাকেজ লেআউটটি রয়েছে:

my-script/
    -- myScript
    -- debian/
        -- changelog
        -- copyright
        -- compat
        -- rules
        -- control
        -- install

dch --createসঠিকভাবে বিন্যস্ত debian/changelogএন্ট্রি তৈরি করতে ডিরেক্টরিটি চালান ।

ডেবিয়ান / কপিরাইটের মতো দেখতে হবে:

Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: myScript
Upstream-Contact: Name, <email@address>

Files: *
Copyright: 2011, Name, <email@address>
License: (GPL-2+ | LGPL-2 | GPL-3 | whatever)
 Full text of licence.
 .
 Unless there is a it can be found in /usr/share/common-licenses

ডেবিয়ান / কম্প্যাট কেবলমাত্র হতে পারে:7

ডেবিয়ান / বিধি :

#!/usr/bin/make -f

%:
    dh $@ --with python2

মনে রাখবেন যে স্পেসগুলি নয়, এর আগে অবশ্যই "ট্যাব" থাকতে হবে dh $@ --with python2

ডেবিয়ান / নিয়ন্ত্রণ :

Source: my-script
Section: python
Priority: optional
Maintainer: Name, <email@address>
Build-Depends: debhelper (>= 7),
               python (>= 2.6.6-3~)
Standards-Version: 3.9.2
X-Python-Version: >= 2.6


Package: my-script
Architecture: all
Section: python
Depends: python-appindicator, ${misc:Depends}, ${python:Depends}
Description: short description
 A long description goes here.
 .
 It can contain multiple paragraphs

ডেবিয়ান / ইনস্টল :

myScript usr/bin/

কোন ফাইলটি কোন ফোল্ডারে ইনস্টল করা হবে তা এই ফাইলটি নির্দেশ করে।

এখন এটি দিয়ে তৈরি করুন debuild --no-tgz-check

এটি একটি কার্যকরী দেব প্যাকেজ তৈরি করবে। লিন্টিয়ান একটি অরগ্যান্ট.আরটিজেডের অভাব সম্পর্কিত কয়েকটি সতর্কতা ছুঁড়ে ফেলবে, তবে আপনি যদি একটি সঠিক প্রবাহ প্রকল্প তৈরি করার পরিকল্পনা না করেন যা টারবাল রিলিজ করে তবে আপনি সম্ভবত আপাতত এটিকে উপেক্ষা করতে চাইবেন।


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

2
আপনি কি পাইথন 3 এর জন্য এটি আপডেট করতে পারবেন? আমি অনুমান করি যে আমাদের পরিবর্তন করতে হবে debian/rulesএবং debian/controlতবে আমি সে সম্পর্কে নিশ্চিত নই।
আদিত্য

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

@andrewsomething: তারপর আপনি আগ্রহী হতে পারে এই এক যা আমার অনুরোধ জানানো যে মন্তব্য ... সম্পাদনা একটি বিট যে এক প্রয়োজন বোধ করা হয় ছেড়ে, আমি এটা আমার হাতে চেষ্টা করবে ...
আদিত্য

1
গ্রন্থাগারগুলি সম্পর্কে কী? পাইথন স্ক্রিপ্টটি যদি গ্রন্থাগারগুলি আমদানি করে তবে এটি কাজ করবে না
D.Snap

18
  1. আপনার বাড়িতে কোনও নাম সহ একটি ফোল্ডার তৈরি করুন যেমন: মাইপিস্ক্রিপ্ট
  2. ফোল্ডারটি খুলুন এবং 'দেবিয়ান' এবং 'ইউএসআর' নামে দুটি ফোল্ডার তৈরি করুন
  3. ডিবিয়ান ফোল্ডারটি খুলুন। নাম 'নিয়ন্ত্রণ' সহ একটি পাঠ্য ফাইল (এক্সটেনশন ছাড়াই) তৈরি করুন।
  4. 'নিয়ন্ত্রণ' খুলুন এবং নীচের মতো টাইপ করুন এবং এটি ডিবিআইএন এ সংরক্ষণ করুন

    Package: mypyscript
    Version: 0.01
    Architecture: all
    Maintainer: your name<your mail id>
    Installed-Size: 2
    Depends: python-appindicator
    Section: extras
    Priority: optional
    Homepage: your homepage
    Description: describe
  5. মাইপিস্ক্রিপ্ট নামের ফোল্ডারে ফিরে যান। 'Usr' খুলুন। 'বিন' নামে একটি ফোল্ডার তৈরি করুন। 'বিন' খুলুন এবং আপনার পাইথনস্ক্রিপ্ট ফাইলটি সেখানে আটকান।

  6. আপনি একটি মেনু এন্ট্রিও করতে পারেন। তবে তা জরুরি নয়।
  7. হোম ফোল্ডারে ফিরে যান যেখানে ফোল্ডারটি 'মাইস্পাইস্ক্রিপ্ট' থাকে বা ফাইল ব্রাউজারটি বন্ধ করে দেয়।
  8. টার্মিনাল খুলুন নিশ্চিত হয়ে নিন যে টার্মিনালটি হোম ফোল্ডারে রয়েছে। টাইপ করুন। dpkg -b mypyscriptতারপর এন্টার টিপুন। কয়েক সেকেন্ডে আপনার দেব প্যাকেজ প্রস্তুত

দ্রষ্টব্য: দয়া করে 'নিয়ন্ত্রণ' ফাইলটি সঠিকভাবে পূরণ করুন। অ্যাস্টোস্ট্রোফ ব্যবহার করবেন না। এটি কেবল নামগুলি ইঙ্গিত করার জন্য।


1
দুর্দান্ত কাজ! গৃহীত উত্তর জটিল।
এসবিবি

'রহস্য' এর অনুমতিটি 755 এবং এর মালিককে রুটে পরিণত করতে ভুলবেন না।
এসবিবি

আমি কীভাবে একটি মেনু এন্ট্রি তৈরি করব?
করতে

9

আপনি প্যাকেজ তৈরির জন্য একটি জিইআইআই ডিব্রিয়েট দিয়ে চেষ্টা করতে পারেন ।


Cণখেলাপি দুর্দান্ত। আমি এ পর্যন্ত এটি পছন্দ করি, পাইথন সোর্স কোড থেকে তৈরি করতে আজই এটি ব্যবহার শুরু করেছি।
উত্তরশিক্ষক

3

আমি দ্রুত চেক আউট করব, দ্রুত অ্যাপ্লিকেশন তৈরি করতে এবং এটি গুগল তৈরি করার জন্য দুর্দান্ত বা আপনি এখানে টিউটোরিয়াল পেতে পারেন http://developer.ubuntu.com/


হ্যাঁ, আমি যোগ করতে চাই। wiki.ubuntu.com/Quickly , আপনি যদি আমার মতো ভিডিও পছন্দ করেন তবে ইউটিউব একটি দুর্দান্ত সম্পদ
জিউ মেনগ

দ্রুত কোনও প্যাকেজটিকে .deb প্যাকেজে রূপান্তরিত করতে পারে না
আর্কিসম্যান প্যানিগ্রেহি 20'16

2

Pkgme চেষ্টা করুন । এটা ঠিক কাজ করার কথা।

এর মাধ্যমে ইনস্টল করুন:

sudo apt install pkgme

এর মাধ্যমে চালান:

pkgme
debuild

(একজন নতুন বিকাশকারীকে চালাতে হতে পারে gpg --gen-key, এটিকে সঠিকভাবে করতে ডেভলপমেন্ট কী-সাইন ইন করতে দেখুন )


1

ইতিমধ্যে https://www.nylas.com/blog/package-deploying-python/- এ পাওয়া দ্বিধা বর্ণনা করার জন্য একটি নিবন্ধ রয়েছে । এটিতে মূলত বলা হয়েছে যে কেবলমাত্র একটি সেটআপ.পি ফাইল ব্যবহার করে পাইথন কোডটি সহজেই স্থাপন করতে ডিএইচ-ভার্চুয়ালেনভ মেক-ডেবের সাথে একসাথে কাজ করছেন। একটি ছোট ম্যানুয়াল https://gist.github.com/JeOam/bc6cbf38f04d6f9dbf81 এ পাওয়া যাবে


0

আপনি ডেবিট ব্যবহার করার চেষ্টা করতে পারেন

এটি প্যাকেজ এবং স্টাফ তৈরির জন্য একটি গুই ইন্টারফেস যা আপনি উপরে তালিকাভুক্ত ওয়েবসাইট থেকে ডাউনলোড করতে না চাইলে আপনি পিপিএও ব্যবহার করতে পারেন।

sudo add-apt-repository ppa:antumdeluge/<ppaname>; sudo apt update; sudo apt install debreate

Ive পিপিএকে ঘনীভূত করেছে যাতে এটি কোডের একক লাইন হিসাবে চলে! দুর্দান্ত প্রশ্নটির জন্য ধন্যবাদ এবং টার্মিনালে কোড লাইনগুলির লাইনগুলি বপিং করে রাখতে ভুলবেন না!

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