Setup.py යනු කුමක්ද?


1039

කරුණාකර setup.pyඑය වින්‍යාසගත කරන්නේ කෙසේද සහ භාවිතා කරන්නේ කෙසේද යන්න පැහැදිලි කිරීමට කිසිවෙකුට හැකිද ?


8
එරික්: සෑම දෙයක්ම එකට තැබීම වඩා හොඳ උදාහරණ වේ
දාස්.රොට්

1
ඔබ බාගත කළ දෙයට පැකේජ කළමණාකරුවකුට යොමු කරනවාට වඩා, ඔබ එය උපුටා ගත් පැකේජය ස්ථාපනය කර පිටපත ක්‍රියාත්මක කරන්නේ කෙසේද යන්න මට සෑම විටම අමුතු දෙයක් ලෙස හැඟේ. එය වඩාත් ස්වාභාවික වනු ඇත. stackoverflow.com/questions/1471994/what-is-setup-py/…
කර්නල්

Answers:


731

setup.py පයිතන් ගොනුවක් වන අතර, සාමාන්‍යයෙන් ඔබ ස්ථාපනය කිරීමට යන මොඩියුලය / පැකේජය ඇසුරුම් කර බෙදා හරිනු ලැබුවේ ඩිස්ටියුටිල්ස් සමඟ වන අතර එය පයිතන් මොඩියුල බෙදා හැරීමේ ප්‍රමිතිය වේ.

පයිතන් පැකේජ පහසුවෙන් ස්ථාපනය කිරීමට මෙය ඔබට ඉඩ සලසයි. බොහෝ විට එය ලිවීමට ප්රමාණවත්ය:

$ pip install . 

pipඔබගේ මොඩියුලය ස්ථාපනය කිරීමට setup.py භාවිතා කරයි. setup.pyකෙලින්ම ඇමතීමෙන් වළකින්න .

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


9
මෙම මොඩියුල නිර්මාණය කරන්නේ කෙසේද සහ හැසිරවිය යුතු ආකාරය පිළිබඳ ඔබේ දැනුම ඔබ බෙදා ගන්නේ නම් මම අගය කරමි. උදාහරණයක් ලෙස, මූලික මොඩියුලයක් නිර්මාණය කරන්නේ කෙසේද, හෝ ./mymodule/bin වෙතින් ආනයනය කරන ස්ක්‍රිප්ට් එකක් පරීක්ෂා කරන්නේ කෙසේද ./mymodule/libs/
පාවුලෝ ඔලිවෙයිරා

7
AuPauloOliveira ඩිස්ටියුටිල්ස් විස්තර කරන පයිතන් මොඩියුල බෙදා හැරීම බලන්න , විශේෂයෙන් බලන්න 2. සැකසුම් ස්ක්‍රිප්ට් ලිවීම .
යූස්

4
Python setup.py install භාවිතා නොකරන්න! එය ඔබගේ අනුවාදය බිඳ දමයි! stackoverflow.com/questions/4324558/…
devinbost

2
Ike මයික්ස් ක්‍රියාකාරීත්වය යනු කුමක්දැයි මම නිශ්චිතවම නොදනිමි, නමුත් setup.py ධාවනය කිරීමෙන් පැය ගණනාවක් පිරිසිදු කිරීම අවශ්‍ය වන බියකරු සිහින ගැටළු වලට මා යොමු වී ඇති බව මට ඔබට පැවසිය හැකිය. මම හිතන්නේ පයිප්ප හෝ කොන්ඩා සමඟ ගොඩනැඟීම / බැඳීම විසඳුම වනු ඇත.
ඩෙවින්බොස්ට්

3
ඔබට සබැඳිය docs.python.org/3/installing/index.html වෙත වෙනස් කළ හැකිය , එය උරුම නොවන ප්‍රලේඛන සබැඳිය වන අතර ඇසුරුම්කරණයට සබැඳියක් එක් කිරීම හොඳය .python.org/tutorials/distribut- පැකේජ / # setup-py එය ගොනුවේ අරමුණ විස්තර කරයි setup.py.
ඇල්වාරෝ ගුටරෙස් පෙරෙස්

522

එය fooඔබගේ යන්ත්‍රය මත පයිතන් පැකේජයක් ස්ථාපනය කිරීමට උපකාරී වේ (එසේම විය හැක virtualenv) එවිට ඔබට fooවෙනත් ව්‍යාපෘති වලින් සහ [I] පයිතන් විමසීම් වලින් පැකේජය ආනයනය කළ හැකිය .

එය සමාන රැකියා කරන්නේ 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 විස්තරයක් ලෙස.


අවසාන වශයෙන්, ඔබ දැන් ඔබේ පැකේජය PyPi.org වෙත උඩුගත කිරීමට සූදානම්ය අතර එමඟින් අනෙක් අයට ඔබේ පැකේජය ස්ථාපනය කරගත හැකිය pip install yourpackage.

පළමු පියවර වන්නේ ඔබේ පැකේජයේ නම සහ අවකාශය පයිපි වලින් ලබා ගැනීමයි:

$ python setup.py register

ඔබගේ පැකේජයේ නම ලියාපදිංචි වූ පසු, කිසිවෙකුට එය ඉල්ලා සිටීමට හෝ භාවිතා කිරීමට නොහැකිය. සාර්ථක ලියාපදිංචියෙන් පසු, ඔබේ පැකේජය එහි (වලාකුළට) උඩුගත කළ යුතුය,

$ python setup.py upload

විකල්පයක් ලෙස, ඔබට ඔබේ පැකේජය GPGමගින් අත්සන් කළ හැකිය ,

$ python setup.py --sign upload

පාරිතෝෂිකය : setup.pyසැබෑ ව්‍යාපෘතියක නියැදියක් මෙතැනින් බලන්න:torchvision-setup.py


12
කෙනත් Reitz (ගෞරවනීය කර්තෘ requests) සුවිශේෂව setup.py හොඳ උදාහරණයක් දෙන්න මෙම ව්යාපෘතිය ඇත - github.com/kennethreitz/setup.py
boweeb

උප පැකේජ ගැන, එනම් පැකේජය තුළ මොඩියුල සහිත ෆෝල්ඩර ගැන කුමක් කිව හැකිද?
fhchl

1
මෙය ද අවශ්‍යතාවයන් හසුරුවන්නේද?
ජුවන් 622

@ Jwan622 ඔබ විග්රහ කළ හැකි requirements.txtගොනු හා iterable පිරවිය, කියන්න requirementsමේ iterable හා අනුයුක්ත requirementsකිරීමට install_requires. උදාහරණයක් සඳහා කරුණාකර මෙම පිටුව setup.py needs.txt බලන්න.
kmario23

ඔබේ නිවාස නාමාවලියෙහි ස්ථාපනය කිරීම සඳහා:python setyp.py install --user
මිකෝලාසන්

105

setup.pyයනු බහු වේදිකා ස්ථාපකයකට සහ makeගොනුවකට පයිතන්ගේ පිළිතුරයි .

විධාන රේඛා ස්ථාපනයන් ගැන ඔබ හුරුපුරුදු නම්, make && make installපරිවර්තනය කරයි python setup.py build && python setup.py install.

සමහර පැකේජ පිරිසිදු පයිතන් වන අතර ඒවා සම්පාදනය කරනු ලබන්නේ බයිට් පමණි. තවත් සමහරක් ස්වදේශීය කේත අඩංගු විය හැකිය, ඒ සඳහා ස්වදේශීය සම්පාදකයෙකු (වැනි gccහෝ cl) සහ පයිතන් අතුරුමුහුණත් මොඩියුලයක් (වැනි swigහෝ pyrex) අවශ්‍ය වේ.


1
ඉහත ප්‍රතිසමයට අනුව, මොඩියුලය තැනීම කිසියම් හේතුවක් නිසා අසාර්ථක වුවහොත් මම setup.py ස්ක්‍රිප්ට් සමඟ සම්බන්ධ වන්නෙමි ... හරිද?
MonaLisaOverdrive

1
ඔව්, ඔබට බැලීමට හැකි වින්‍යාස ගොනු කිහිපයක් ද තිබිය හැකිය.
whatnick

3
මම වැරදියි නම් මාව නිවැරදි කරන්න, නමුත් මම විශ්වාස කරන්නේ මේ දෙක අතර කුඩා වෙනසක් ඇති බවයි. python setup.py install ඇත්ත වශයෙන්ම python setup.py buildපළමුව ධාවනය වේ (එබැවින් විශේෂිත අවස්ථාවන්හිදී මිස ඔබට ඒවා වෙන වෙනම ධාවනය කිරීමට අවශ්‍ය නොවේ). makeධාවනය වීමට පෙර සෑම විටම අතින් ධාවනය කළ යුතු යැයි මම විශ්වාස කරමි make install.
joelostblom

6
@cheflo ඇත්ත වශයෙන්ම makeනිශ්චිත පරාමිතීන් (හෝ ඇණවුම් කිරීම) අවශ්‍ය නොවේ: එය Makefile“ඉලක්ක” ලබා ගත හැකි (සහ ඒවා ක්‍රියාත්මක කළ යුතු අනුපිළිවෙලෙහි) නිර්මාතෘගේ වගකීම වේ. හිස් Makefiles (සාමාන්‍යයෙන්) එතරම් අතේ ගෙන යා නොහැකි බැවින් ඒවා ජනනය කිරීමට නැඹුරු වන්නේ (ඔටෝටූල්ස්) ./configureහෝ cmake .(cmake) වැනි විධානයන් භාවිතා කරමිනි. එම නිසා ඔබ පැහැදිලිවම ක්‍රියාත්මක makeවීමට පෙර make installහෝ නොකිරීමට අවශ්‍යද යන්න නිර්වචනය කිරීම මෙම වැඩසටහන් වලට අනුකූල වේ.
ntninja

3
Docs.python.org/3/installing/index.html හි ඇති ලියකියවිලි වලට අනුව අප තව දුරටත් setup.py භාවිතා කළ යුතුදැයි මට පැවසීමට මට යමක් අවශ්‍ය වේ. "
කෙමින් ෂෝ

53

ඔබ root ෆෝල්ඩරයේ "setup.py" ඇති පැකේජයක් බාගත කර ඇත්නම්, ධාවනය කිරීමෙන් ඔබට එය ස්ථාපනය කළ හැකිය

python setup.py install

ඔබ ව්‍යාපෘතියක් සංවර්ධනය කරන්නේ නම් සහ මෙම ගොනුව ප්‍රයෝජනවත් වන්නේ කුමක් දැයි කල්පනා කරන්නේ නම්, සැකසුම් ස්ක්‍රිප්ට් ලිවීම පිළිබඳ පයිතන් ප්‍රලේඛනය පරීක්ෂා කරන්න


21

setup.pyසාමාන්‍යයෙන් පුස්තකාල හෝ වැඩසටහන් සමඟ නැව්ගත කර ඇති පයිතන් පිටපතකි. එහි අරමුණ මෘදුකාංගය නිවැරදිව ස්ථාපනය කිරීමයි.

බොහෝ පැකේජ distutilsසමඟ රාමුව භාවිතා කරයි setup.py.

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


19

setup.py අවස්ථා දෙකකින් භාවිතා කළ හැකිය, පළමුව ඔබට පයිතන් පැකේජයක් ස්ථාපනය කිරීමට අවශ්‍යය. දෙවනුව, ඔබට ඔබේම පයිතන් පැකේජයක් සෑදීමට අවශ්‍යය. සාමාන්‍යයෙන් සම්මත පයිතන් පැකේජයට setup.py, setup.cfg සහ Manifest.in වැනි වැදගත් ලිපිගොනු කිහිපයක් ඇත. ඔබ පයිතන් පැකේජය නිර්මාණය කරන විට, මෙම ලිපිගොනු තුන (බිත්තර තොරතුරු ෆෝල්ඩරය යටතේ PKG-INFO හි අන්තර්ගතය) නම, අනුවාදය, විස්තරය, අවශ්‍ය අනෙකුත් ස්ථාපනයන් (සාමාන්‍යයෙන් .txt ගොනුවේ) සහ තවත් පරාමිතීන් කිහිපයක් තීරණය කරයි. setup.cfg කියවන්නේ setup.py මගින් වන අතර පැකේජය නිර්මාණය වේ (tar.gz විය හැකිය). Manifest.in යනු ඔබේ පැකේජයට ඇතුළත් කළ යුතු දේ නිර්වචනය කළ හැකි ස්ථානයකි. කෙසේ වෙතත් ඔබට setup.py වැනි දේවල් භාවිතා කළ හැකිය

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

Setup.py සමඟ භාවිතා කළ හැකි වෙනත් විධාන පොකුරක් ඇත. උදව් සඳහා

python setup.py --help-commands

ස්තූතියි python setup.py --help-commands. Setup.py හාරන විට ඉතා ප්‍රයෝජනවත් වේ.
පලෙක්

9

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කර ඇත්තේ භාවිතයේ පහසුව සහ සම්මුතිය අනුව ය, නමුත් ඕනෑම නමක් ගත හැකිය.

සයිතන්:

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 නමුත් සැමවිටම නොවන බව සැලකිල්ලට ගන්න (මම මගේ අවසාන උදාහරණයේ පෙන්වා ඇති පරිදි). එය මතක තබා ගත යුතු දෙය පයිතන් පැකේජය / ස්ක්‍රිප්ට් යම් ආකාරයකින් වින්‍යාස කරයි.

එය නම ගන්නා බැවින් එකම විධානය සෑම විටම ගොඩනැගීමේදී හෝ ස්ථාපනය කිරීමේදී භාවිතා කළ හැකිය.


8

ඔබ setup.pyඔබේ පර්යන්තය (මැක්, ලිනක්ස්) හෝ විධාන විමසුම (වින්ඩෝස්) විවෘත කර පැකේජයක් බාගත කරන විට . cd ටැබ් බොත්තම භාවිතයෙන් ඔබට උදව් කිරීම ඔබ ගොනුව බාගත කළ ෆෝල්ඩරයට සහ එහි ඇති ස්ථානයට නිවැරදි මාර්ගය සකසන්න setup.py:

iMac:~ user $ cd path/pakagefolderwithsetupfile/

Enter ඔබන්න, ඔබ මේ වගේ දෙයක් දැකිය යුතුයි:

iMac:pakagefolderwithsetupfile user$

ඉන්පසු ටයිප් කරන්න python setup.py install:

iMac:pakagefolderwithsetupfile user$ python setup.py install

ඔබන්න enter. කළා!


7

ඔබ බාගත කළ පයිතන් පැකේජයක් ස්ථාපනය කිරීම සඳහා, ඔබ සංරක්ෂිතය උපුටා ගෙන ඇතුළත setup.py ස්ක්‍රිප්ට් ධාවනය කරන්න:

python setup.py install

මට නම් මෙය සැමවිටම අමුතු දෙයක් ලෙස හැඟී ඇත. බාගත කිරීමේදී පැකේජ කළමණාකරුවෙකු යොමු කිරීම වඩාත් ස්වාභාවිකය, රූබී සහ නෝඩෙජ් හි මෙන්, උදා.gem install rails-4.1.1.gem

පැකේජ කළමනාකරුවෙකු ද වඩාත් සුවපහසු ය, මන්ද එය හුරුපුරුදු සහ විශ්වාසදායක ය. අනෙක් අතට, සෑම එකක්ම setup.pyනව එකක් වන්නේ එය පැකේජයට විශේෂිත බැවිනි. එය සම්මුතිය කෙරෙහි විශ්වාසය ඉල්ලා සිටී "මෙම setup.py මා අතීතයේ භාවිතා කළ අනෙක් විධානයන් හා සමාන විධානයන් ගනී". එය මානසික අධිෂ් on ානය මත කණගාටුදායක බද්දකි.

Setup.py වැඩ ප්‍රවාහය පැකේජ කළමණාකරුවෙකුට වඩා අඩු ආරක්ෂිත යැයි මම නොකියමි (මට තේරෙනවා Pip යනු setup.py ඇතුළත ක්‍රියාත්මක වන බව), නමුත් නිසැකවම එය අමුතු හා ජරා බව මට හැඟේ. සියල්ලම එකම පැකේජ කළමණාකරු යෙදුමකට අණ කිරීමට එකඟතාවයක් ඇත. ඔබ එයට ඇලුම් කිරීමට පවා ඉඩ තිබේ.


1
එවිට ඔබට easy_install හෝ ඊට සමාන භාවිතා කළ හැකිය. Btw, Python හි බිත්තර ඇත, රූබි මැණික් වලට සමාන ය.
පවෙල් ඉමර්ඩා

6

එය සරල කිරීම සඳහා, setup.py ක්‍රියාත්මක "__main__"වන්නේ ඔබ ස්ථාපනය කරන විට වෙනත් පිළිතුරු සඳහන් කර ඇති ආකාරයටය . Setup.py ඇතුලත, ඔබේ පැකේජය ස්ථාපනය කිරීමට අවශ්‍ය සියල්ල තැබිය යුතුය.

පොදු setup.py කාර්යයන්

බොහෝ setup.py මොඩියුලයන් සතුව ඇති කරුණු දෙකක් පහත කොටස් දෙකෙන් සාකච්ඡා කෙරේ.

setuptools.setup

මෙම ශ්‍රිතය මඟින් ව්‍යාපෘතියේ නම, අනුවාදය වැනි ව්‍යාපෘති ගුණාංග නියම කිරීමට ඔබට ඉඩ සලසයි .... වඩාත්ම වැදගත් දෙය නම්, මෙම ශ්‍රිතය වෙනත් කාර්යයන් නිසි ලෙස ඇසුරුම් කර ඇත්නම් ඒවා ස්ථාපනය කිරීමට ඔබට ඉඩ සලසයි. බලන්න මෙම වෙබ් පිටුව setuptools.setup පිළිබඳ නිදසුනක්

පැකේජ මේ ආකාරයේ ස්ථාපනය සක්රීය setuptools.setup මෙවැනි ගුණාංග:

  • ඔබේ ව්‍යාපෘතියට ආනයනය කරන ලද සහ setuptools.findpackages භාවිතා කරමින් PyPI හි ලැයිස්තුගත කර ඇති පැකේජ :

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

  • පැකේජ නොවන PyPI , නමුත් භාවිතා URL එකක් බාගත කර ගත හැකි ය dependency_links

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

අභිරුචි කාර්යයන්

පරමාදර්ශී ලෝකයක, setuptools.setupඔබ වෙනුවෙන් සෑම දෙයක්ම හසුරුවනු ඇත. අවාසනාවට මෙය සැමවිටම එසේ නොවේ. සමහර විට ඔබ උපසිරැසි විධානය සමඟ පරායත්තයන් ස්ථාපනය කිරීම වැනි විශේෂිත දේ කළ යුතු අතර, ඔබ ස්ථාපනය කරන පද්ධතිය ඔබේ පැකේජය සඳහා නිවැරදි තත්වයට ගෙන ඒමට. මෙය වළක්වා ගැනීමට උත්සාහ කරන්න, මෙම කාර්යයන් ව්‍යාකූල වන අතර බොහෝ විට මෙහෙයුම් පද්ධතිය සහ පවා වෙනස් වේ බෙදා හැරීම .

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.