সেটআপ.পি কী?


990

কেউ দয়া করে কী setup.pyতা ব্যাখ্যা করতে পারেন এবং এটি কীভাবে কনফিগার করা বা ব্যবহার করা যেতে পারে?


7
এরিক: সর্বোত্তম উদাহরণগুলি একসাথে
রাখাই সুবিধাজনক

1
আমার কাছে, আপনি যে প্যাকেজটি সরিয়ে নিয়েছেন এবং কীভাবে ডাউনলোড করেছেন তা প্যাকেজ ম্যানেজারের দিকে ইঙ্গিত না করে কীভাবে প্যাকেজটি ইনস্টল করবেন এবং স্ক্রিপ্টটি ভিতরে চালিত করবেন তা সর্বদা স্বতন্ত্র মনে হয়। এটা আরও প্রাকৃতিক হবে। stackoverflow.com/questions/1471994/ কি-is
কর্নেল আতঙ্ক

উত্তর:


693

setup.py পাইথন ফাইল যা সাধারণত আপনাকে জানায় যে আপনি যে মডিউল / প্যাকেজটি ইনস্টল করতে চলেছেন তা প্যাকেজ করা হয়েছে এবং ডিস্টিউটিস দিয়ে বিতরণ করা হয়েছে যা পাইথন মডিউল বিতরণের মান।

এটি আপনাকে সহজেই পাইথন প্যাকেজ ইনস্টল করতে দেয়। প্রায়শই এটি লেখার জন্য যথেষ্ট:

$ pip install . 

pipআপনার মডিউলটি ইনস্টল করতে setup.py ব্যবহার করবে। setup.pyসরাসরি কল করা এড়িয়ে চলুন ।

https://docs.python.org/3/installing/index.html#installing-index


9
আপনি যদি এই মডিউলগুলি তৈরি বা পরিচালনা করতে পারেন তবে আপনার জ্ঞানটি ভাগ করে নিলে আমি প্রশংসা করব? উদাহরণ হিসেবে বলা যায়, কিভাবে একটি মৌলিক মডিউল তৈরি করার জন্য বা কিভাবে একটি স্ক্রিপ্ট ./mymodule/bin যা ./mymodule/libs/ থেকে আমদানির পরীক্ষা করার জন্য
পাওলো মধ্যে Oliveira


4
পাইথন সেটআপ.পিপি ইনস্টল করুন না! এটি আপনার সংস্করণ ভঙ্গ! stackoverflow.com/questions/4324558/...
devinbost

2
@ মাইকস আমি ঠিক জানি না যে ওয়ার্কআউন্ডটি কী, তবে আমি আপনাকে বলতে পারি যে সেটআপ.পি চালিয়ে যাওয়া আমাকে দুঃস্বপ্নের সমস্যার দিকে নিয়ে গেছে, যার জন্য বেশ কয়েক ঘন্টা পরিষ্কারের প্রয়োজন ছিল। আমি অনুমান করছি যে পাইপ বা কনডা দিয়ে বিল্ডিং / বান্ডিল করা সমাধান হবে।
ডিভাইনবস্ট

3
আপনি ডকস.পিথোন.আর . / লিঙ্কটি আনস্টলিং / ইন্ডেক্স এইচটিএমএল-এ পরিবর্তন করতে পারেন , যা নন-লেগ্যাসি ডকুমেন্টেশন লিঙ্ক, এবং প্যাকেজিং.পাইথন.আর. / টিউটোরিয়ালস / ডিস্ট্রিবিউটিং- এ একটি লিঙ্ক যুক্ত করা ভাল would প্যাকেজ / # সেটআপ- পাই যেখানে এটি setup.pyফাইলের উদ্দেশ্যকে বহন করে ।
আলভারো গুতেরেজ পেরেজ

489

এটি fooআপনার মেশিনে পাইথন প্যাকেজ ইনস্টল করতে সহায়তা করে ( এতেও থাকতে পারে virtualenv) যাতে আপনি fooঅন্যান্য প্রকল্প থেকে এবং [আই] পাইথন প্রম্পট থেকে প্যাকেজটি আমদানি করতে পারেন ।

এটা অনুরূপ পেশা আছে pip, easy_installইত্যাদি


ব্যবহার setup.py

আসুন কিছু সংজ্ঞা দিয়ে শুরু করা যাক:

প্যাকেজ - একটি ফোল্ডার / ডিরেক্টরি যাতে __init__.pyফাইল থাকে।
মডিউল - .pyএক্সটেনশন সহ একটি বৈধ অজগর ফাইল ।
বিতরণ - কীভাবে একটি প্যাকেজ অন্যান্য প্যাকেজ এবং মডিউলগুলির সাথে সম্পর্কিত ।

ধরা যাক আপনি নামের একটি প্যাকেজ ইনস্টল করতে চান foo। তাহলে তুমি করো,

$ git clone https://github.com/user/foo  
$ cd foo
$ python setup.py install

পরিবর্তে, আপনি যদি বাস্তবে এটি ইনস্টল করতে না চান তবে তবুও এটি ব্যবহার করতে চান। তারপরে,

$ python setup.py develop  

এই কমান্ডটি সাইটের অনুলিপিগুলির পরিবর্তে সাইট-প্যাকেজগুলির মধ্যে উত্স ডিরেক্টরিতে প্রতিলিঙ্ক তৈরি করবে। এ কারণে এটি বেশ দ্রুত (বিশেষত বৃহত প্যাকেজগুলির জন্য)।


তৈরি করা হচ্ছে setup.py

আপনার যদি আপনার প্যাকেজ ট্রি থাকে তবে

foo
├── foo
   ├── data_struct.py
   ├── __init__.py
   └── internals.py
├── README
├── requirements.txt
└── setup.py

তারপরে, আপনি আপনার setup.pyস্ক্রিপ্টে নিম্নলিখিতগুলি করুন যাতে এটি কোনও মেশিনে ইনস্টল করা যায়:

from setuptools import setup

setup(
   name='foo',
   version='1.0',
   description='A useful module',
   author='Man Foo',
   author_email='foomail@foo.com',
   packages=['foo'],  #same as name
   install_requires=['bar', 'greek'], #external packages as dependencies
)

পরিবর্তে, যদি আপনার প্যাকেজ ট্রি নীচের মত আরও জটিল হয়:

foo
├── foo
   ├── data_struct.py
   ├── __init__.py
   └── internals.py
├── README
├── requirements.txt
├── scripts
   ├── cool
   └── skype
└── setup.py

তারপরে, আপনার setup.pyক্ষেত্রে এটির মতো হবে:

from setuptools import setup

setup(
   name='foo',
   version='1.0',
   description='A useful module',
   author='Man Foo',
   author_email='foomail@foo.com',
   packages=['foo'],  #same as name
   install_requires=['bar', 'greek'], #external packages as dependencies
   scripts=[
            'scripts/cool',
            'scripts/skype',
           ]
)

( setup.py) এ আরও স্টাফ যুক্ত করুন এবং এটিকে শালীন করুন:

from setuptools import setup

with open("README", 'r') as f:
    long_description = f.read()

setup(
   name='foo',
   version='1.0',
   description='A useful module',
   license="MIT",
   long_description=long_description,
   author='Man Foo',
   author_email='foomail@foo.com',
   url="http://www.foopackage.com/",
   packages=['foo'],  #same as name
   install_requires=['bar', 'greek'], #external packages as dependencies
   scripts=[
            'scripts/cool',
            'scripts/skype',
           ]
)

long_descriptionব্যবহার করা হয় pypi.org আপনার প্যাকেজের README বিবরণ হিসাবে।


এবং পরিশেষে, আপনি এখন পাইপআইআরগুলিতে আপনার প্যাকেজটি আপলোড করতে প্রস্তুত যাতে অন্যরা আপনার প্যাকেজটি ব্যবহার করে ইনস্টল করতে পারে pip install yourpackage

প্রথম পদক্ষেপটি হ'ল পাইপিতে আপনার প্যাকেজের নাম এবং স্থান দাবি করা:

$ python setup.py register

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

$ python setup.py upload

Allyচ্ছিকভাবে, আপনি এর মাধ্যমে আপনার প্যাকেজটিতে স্বাক্ষর করতে পারেন GPG,

$ python setup.py --sign upload

বোনাস : setup.pyএখানে একটি বাস্তব প্রকল্পের একটি নমুনা দেখুন :torchvision-setup.py


12
কেনেথ রেইটস (শ্রদ্ধেয় লেখক requests) এর সেটআপ.পি

সাব-প্যাকেজগুলি কী, প্যাকেজের ভিতরে মডিউলগুলি সহ ফোল্ডারগুলি কী?
fhchl

1
@ কুমারীও 23 ভালো লাগলো, ধন্যবাদ!
দিনকো পহর

1
আমি এই উত্তরটি ভালবাসি
SW_user2953243

1
@ SW_user2953243 আমি আনন্দিত যে আপনি এটি দরকারী বলে মনে করেছেন :)
kmario23

98

setup.pyএকাধিক প্ল্যাটফর্ম ইনস্টলার এবং makeফাইলের জন্য পাইথনের উত্তর ।

আপনি যদি কমান্ড লাইন ইনস্টলেশনগুলির সাথে পরিচিত হন, তবে এতে make && make installঅনুবাদ করুন python setup.py build && python setup.py install

কিছু প্যাকেজ খাঁটি পাইথন, এবং কেবল বাইট সংকলিত হয়। অন্যের মধ্যে নেটিভ কোড থাকতে পারে, যার জন্য নেটিভ সংকলক (যেমন gccবা cl) এবং পাইথন ইন্টারফেসিং মডিউল প্রয়োজন (যেমন swigবা pyrex)।


1
সুতরাং উপরের উপমা অনুসারে, যদি কোনও কারণে মডিউলটি ব্যর্থ হয় তবে আমি সেটআপ.পি স্ক্রিপ্টের সাথে টিঙ্কার করব ... সঠিক?
MonaLisaOverdrive

1
হ্যাঁ, আপনি দেখতে পারেন এমন কিছু কনফিগার ফাইলও থাকতে পারে।
হোয়ানটিক

3
আমি ভুল হলে আমাকে সংশোধন করুন, তবে আমি বিশ্বাস করি যে দুজনের মধ্যে একটি ছোট পার্থক্য রয়েছে। python setup.py install আসলে python setup.py buildপ্রথমে রান করে (যাতে নির্দিষ্ট ক্ষেত্রে না হলে এগুলি আলাদা করে চালানোর দরকার নেই)। আমি বিশ্বাস করি makeদৌড়ানোর আগে সর্বদা ম্যানুয়ালি চালানো দরকার make install
joelostblom

6
@ শেফ্লো আসলে makeকোনও নির্দিষ্ট প্যারামিটারের প্রয়োজন হয় না (বা অর্ডার দেওয়া): এটি সম্পূর্ণরূপে Makefile"টার্গেটগুলি" উপলভ্য (এবং কোন ক্রমে তাদের আহ্বান করা দরকার) স্রষ্টার উপর নির্ভর করে । যেহেতু বেয়ার Makefileগুলি খুব সাধারণত বহনযোগ্য নয় তাই এগুলি ./configure(অটোটুল) বা cmake .(সিএমকে) কমান্ড ব্যবহার করে তৈরি করা হয় এবং এর makeআগে আপনাকে স্পষ্টভাবে চালানো দরকার কি না তা নির্ধারণ করার জন্য এই প্রোগ্রামগুলির মধ্যে রয়েছে make install
ntninja

3
ডকস.পিথথন.আর / 3 / ইনস্টলিং / ইন্ডেক্স এইচটিএমটিএলে ডকস অনুসারে আমাদের আর সেটআপ.পি ব্যবহার করা উচিত কিনা তা বলার জন্য আমার একজনের প্রয়োজন " "
কেমিন ঝো

53

আপনি যদি রুট ফোল্ডারে "setup.py" প্যাকেজটি ডাউনলোড করেন তবে আপনি এটি চালিয়ে ইনস্টল করতে পারেন

python setup.py install

আপনি যদি একটি প্রকল্প বিকাশ করছেন এবং এই ফাইলটি কীসের জন্য দরকারী তা ভাবছেন, সেটআপ স্ক্রিপ্ট লেখার জন্য পাইথন ডকুমেন্টেশন পরীক্ষা করুন


20

setup.pyপাইথন স্ক্রিপ্ট যা সাধারণত ভাষাতে লেখা গ্রন্থাগার বা প্রোগ্রাম সহ প্রেরণ করা হয়। এটির উদ্দেশ্য হ'ল সফ্টওয়্যারটির সঠিক ইনস্টলেশন।

অনেক প্যাকেজ distutilsসাথে ফ্রেমে কাঠামো ব্যবহার করে setup.py

http://docs.python.org/distutils/


19

setup.py দুটি পরিস্থিতিতে ব্যবহার করা যেতে পারে, প্রথমত, আপনি পাইথন প্যাকেজ ইনস্টল করতে চান। দ্বিতীয়ত, আপনি নিজের পাইথন প্যাকেজ তৈরি করতে চান। সাধারণত স্ট্যান্ডার্ড পাইথন প্যাকেজটিতে সেটআপ.পি, সেটআপ সিএফজি এবং ম্যানিফেস্ট.নির মতো কয়েকটি গুরুত্বপূর্ণ ফাইল থাকে। আপনি যখন পাইথন প্যাকেজ তৈরি করছেন, তখন এই তিনটি ফাইল (ডিম-তথ্য ফোল্ডারের অধীনে পিকেজি-ইনফোতে থাকা সামগ্রী) নাম, সংস্করণ, বিবরণ, অন্যান্য প্রয়োজনীয় ইনস্টলেশন (সাধারণত .txt ফাইলে থাকে) এবং কয়েকটি অন্যান্য পরামিতি নির্ধারণ করবে। setup.cfg প্যাকেজ তৈরি হওয়ার সময় setup.py দ্বারা পঠিত হয় (tar.gz হতে পারে)। ম্যানিফেস্ট.ইন যেখানে আপনি আপনার প্যাকেজে অন্তর্ভুক্ত করা উচিত তা নির্ধারণ করতে পারেন। যাইহোক আপনি সেটআপ.পি লাইক ব্যবহার করে গুচ্ছ জিনিসগুলি করতে পারেন

python setup.py build
python setup.py install
python setup.py sdist <distname> upload [-r urltorepo]  (to upload package to pypi or local repo)

সেটআপ.পাই ব্যবহার করা যেতে পারে এমন অন্যান্য কমান্ড রয়েছে। সাহায্যের জন্য

python setup.py --help-commands

জন্য ধন্যবাদ python setup.py --help-commands। সেটআপ.পিকে খনন করার সময় খুব দরকারী।
প্যালেক

8

আপনি যখন setup.pyআপনার টার্মিনাল (ম্যাক, লিনাক্স) বা কমান্ড প্রম্পট (উইন্ডোজ) সহ কোনও প্যাকেজ ডাউনলোড করেন । cd ট্যাব বোতামটি ব্যবহার করে আপনাকে সহায়তা করতে আপনি যেখানে ফাইলটি ডাউনলোড করেছেন এবং যেখানে রয়েছে সেই ফোল্ডারের ডানদিকে সেট করে setup.py:

iMac:~ user $ cd path/pakagefolderwithsetupfile/

এন্টার টিপুন, আপনার এমন কিছু দেখা উচিত:

iMac:pakagefolderwithsetupfile user$

তারপরে টাইপ করুন python setup.py install:

iMac:pakagefolderwithsetupfile user$ python setup.py install

টিপুন enter। সম্পন্ন!


7

আপনি যে পাইথন প্যাকেজটি ডাউনলোড করেছেন তা ইনস্টল করতে আপনি সংরক্ষণাগারটি বের করে ভিতরে সেটআপ.পি স্ক্রিপ্টটি চালাবেন:

python setup.py install

আমার কাছে এটি সর্বদা অদ্ভুত বোধ করেছে। ডাউনলোডের সময় প্যাকেজ ম্যানেজারটিকে নির্দেশ করা আরও স্বাভাবিক হবে, যেমন রুবি এবং নোডেজ-এ যেমন করা উচিত।gem install rails-4.1.1.gem

একটি প্যাকেজ পরিচালক খুব স্বাচ্ছন্দ্যযুক্ত, কারণ এটি পরিচিত এবং নির্ভরযোগ্য। অন্যদিকে, প্রতিটি setup.pyউপন্যাস, কারণ এটি প্যাকেজের জন্য নির্দিষ্ট। এটি কনভেনশনে বিশ্বাস দাবি করে "আমি এই সেটআপটিকে বিশ্বাস করি py এটি মানসিক ইচ্ছাশক্তি একটি আফসোস ট্যাক্স।

আমি বলছি না যে সেটআপ.পি ওয়ার্কফ্লো কোনও প্যাকেজ ম্যানেজারের চেয়ে কম সুরক্ষিত (আমি বুঝতে পারি পিপটি কেবল ভিতরে সেটআপ.পি চালায়) তবে অবশ্যই আমি মনে করি এটি অদ্ভুত এবং বিরক্তিকর। একই প্যাকেজ ম্যানেজার অ্যাপ্লিকেশনটিতে কমান্ডের সাথে একটি সাদৃশ্য রয়েছে। আপনি এমনকি এটি পছন্দ হতে পারে।


1
তারপরে আপনি ইজি-ইনস্টল বা অনুরূপ ব্যবহার করতে পারেন। বিটিডব্লিউ, পাইথনের রয়েছে ডিম, রবি রত্নের মতো ধরণের।
পাভেল আইমারদা

7

setup.pyঅন্য যেকোন একটি পাইথন ফাইল। এটি কোনও নাম নিতে পারে, কনভেনশন বাদে এর নাম দেওয়া হয়েছে setup.pyযাতে প্রতিটি স্ক্রিপ্টের সাথে আলাদা পদ্ধতি না থাকে।

setup.pyপাইথন মডিউল ইনস্টল করতে প্রায়শই ব্যবহৃত হয় তবে সার্ভার অন্যান্য উদ্দেশ্যে:

মডিউল:

সম্ভবত এটি setup.pyমডিউলগুলির মধ্যে সর্বাধিক বিখ্যাত ব্যবহার । যদিও তারা ব্যবহার করে ইনস্টল করা যায় pip, পুরানো পাইথন সংস্করণগুলি pipডিফল্টরূপে অন্তর্ভুক্ত করে না এবং সেগুলি পৃথকভাবে ইনস্টল করা দরকার।

আপনি যদি কোনও মডিউল ইনস্টল করতে চান তবে ইনস্টল করতে না চান pipতবে কেবলমাত্র বিকল্পটি ছিল setup.pyফাইল থেকে মডিউলটি ইনস্টল করা । এটি মাধ্যমে অর্জন করা যেতে পারে python setup.py install। এটি পাইথন মডিউলটি মূল অভিধানে ইনস্টল করবে (ছাড়া pip, easy_installect)।

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

এর আর একটি ব্যবহার setup.pyহ'ল উত্স থেকে প্যাকেজ ইনস্টল করা। যদি কোনও মডিউল এখনও বিকাশাধীন থাকে তবে হুইল ফাইলগুলি পাওয়া যাবে না এবং ইনস্টল করার একমাত্র উপায় হ'ল সরাসরি উত্স থেকে ইনস্টল করা।

পাইথন এক্সটেনশনগুলি বিল্ডিং:

যখন একটি মডিউল তৈরি করা হয় তখন এটি একটি ডিস্টিলস সেটআপ স্ক্রিপ্ট ব্যবহার করে বিতরণের জন্য প্রস্তুত মডিউলে রূপান্তরিত হতে পারে । এগুলি তৈরি হয়ে গেলে উপরের কমান্ডটি ব্যবহার করে ইনস্টল করা যেতে পারে।

একটি সেটআপ স্ক্রিপ্ট তৈরি করা সহজ এবং একবার ফাইলটি যথাযথভাবে কনফিগার করা হয়ে যায় এবং চালিয়ে সংকলন করা যায় python setup.py build(সমস্ত কমান্ডের লিঙ্কটি দেখুন)।

আবার এটি setup.pyব্যবহারের সুবিধার্থে এবং কনভেনশন অনুসারে নামকরণ করা হয়েছে তবে কোনও নাম নিতে পারে।

Cython:

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

from distutils.core import setup
from Cython.Build import cythonize

setup(
    name = 'Hello world app',
    ext_modules = cythonize("hello.pyx"),
)

এটি এর মাধ্যমে সংকলন করা যায় python setup.py build

Cx_Freeze:

সেটআপ স্ক্রিপ্টের জন্য প্রয়োজনীয় আরেকটি মডিউল cx_Freeze। এটি পাইথন স্ক্রিপ্টকে এক্সিকিউটেবলে রূপান্তর করে। এটি বর্ণনা, নাম, আইকন, প্যাকেজগুলির মতো অনেক কমান্ডকে অন্তর্ভুক্ত করতে, ect বাদ দেয় এবং একবার চালানোর পরে একটি বিতরণযোগ্য অ্যাপ্লিকেশন তৈরি করে। ডকুমেন্টেশন থেকে একটি উদাহরণ :

import sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]} 

base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(  name = "guifoo",
        version = "0.1",
        description = "My GUI application!",
        options = {"build_exe": build_exe_options},
        executables = [Executable("guifoo.py", base=base)])

এটি এর মাধ্যমে সংকলন করা যায় python setup.py build

সুতরাং একটি setup.pyফাইল কি ?

বেশ সহজভাবে এটি একটি স্ক্রিপ্ট যা পাইথন পরিবেশে কিছু তৈরি বা কনফিগার করে।

বিতরণ করা হয় এমন প্যাকেজটিতে কেবল একটি সেটআপ স্ক্রিপ্ট থাকা উচিত তবে একক সেটআপ স্ক্রিপ্টে বেশ কয়েকটি একত্রিত করা অস্বাভাবিক নয়। লক্ষ্য করুন এটি প্রায়শই জড়িত distutilsতবে সর্বদা নয় (যেমন আমি আমার শেষ উদাহরণে দেখিয়েছি)। এটি মনে রাখার বিষয়টি কেবল কোনও উপায়ে পাইথন প্যাকেজ / স্ক্রিপ্টটি কনফিগার করে।

এটি নাম নেয় তাই একই কমান্ডটি সর্বদা নির্মাণ বা ইনস্টল করার সময় ব্যবহার করা যায়।


6

এটিকে সহজ করার জন্য, সেটআপ.পিটি চালিত হয় "__main__"আপনি যখন ইনস্টলটি ফাংশনটি কল করেন তখন উল্লিখিত অন্যান্য উত্তরগুলি উত্তর দেয়। Setup.py এর অভ্যন্তরে, আপনার প্যাকেজ ইনস্টল করার জন্য আপনার প্রয়োজনীয় সমস্ত কিছু রাখা উচিত।

সাধারণ সেটআপ.পি ফাংশন

নিম্নলিখিত দুটি বিভাগে অনেকগুলি সেটআপ.পি মডিউলগুলির দুটি বিষয় নিয়ে আলোচনা করা হয়েছে।

setuptools.setup

এই ফাংশনটি আপনাকে প্রকল্পের নাম, সংস্করণটির মতো প্রকল্পের বৈশিষ্ট্যগুলি নির্দিষ্ট করার অনুমতি দেয় .... সবচেয়ে গুরুত্বপূর্ণ বিষয়, এই ফাংশনটি আপনাকে অন্য ফাংশনগুলি সঠিকভাবে প্যাকেজ করা থাকলে ইনস্টল করতে দেয়। Setuptools.setup এর এই বৈশিষ্ট্যগুলির জন্য এই ওয়েবপৃষ্ঠাটি দেখুন setuptools.setup এর

এই বৈশিষ্ট্যগুলি এই ধরণের প্যাকেজগুলি ইনস্টল করতে সক্ষম করে:

  • প্যাকেজ আপনার প্রকল্পের এ আমদানি ও তালিকাভুক্ত করা হয় PyPI ব্যবহার setuptools.findpackages :

    packages=find_packages(exclude=["docs","tests", ".gitignore", "README.rst","DESCRIPTION.rst"])

  • প্যাকেজগুলি পিপিআইতে নেই , তবে নির্ভরতা_লিঙ্কগুলি ব্যবহার করে একটি URL থেকে ডাউনলোড করা যেতে পারে

    dependency_links=["http://peak.telecommunity.com/snapshots/",]

কাস্টম ফাংশন

একটি আদর্শ বিশ্বে, setuptools.setupআপনার জন্য সমস্ত কিছু পরিচালনা করবে। দুর্ভাগ্যক্রমে এটি সবসময় হয় না। কখনও কখনও আপনাকে নির্দিষ্ট জিনিসগুলি করতে হয়, যেমন এর সাথে নির্ভরতা ইনস্টল করাআপনার প্যাকেজের সঠিক সিস্টেমে আপনি যে সিস্টেমটি ইনস্টল করছেন সেটি পাওয়ার জন্য সাব প্রসেস কমান্ডের করতে হবে। এটি এড়াতে চেষ্টা করুন, এই ফাংশনগুলি বিভ্রান্ত হয় এবং প্রায়শই ওএস এবং এমনকি বিতরণের মধ্যেও পৃথক হয় ।

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