- Аисла цада проиецто цон енторнос виртуалес и блокуеа версионес цон арцхивос де лоцк пара гарантизар репродуцибилидад.
- Елиге херрамиента сегун ел цонтекто: пип+венв, Пипенв, Поетри, ПДМ или Рие, и цомпренде сус форталезас.
- Цуида ла сегуридад фијандо версионес, верифицандо хассхес и есцанеандо вулнерабилидадес ен депенденциас транситивас.
- Адапта ел флујо ал десплиегуе цон рекуирементс.ткт ен МВАА и Цлоуд Рун, и уса руедас или репос привадос цуандо хага фалта.
Администрација зависности у Питхон-у је тема која је тарде о темпрано те експлоатација ен ла цара си но ло тратас цон царино. Аункуе муцхас персонас програман а диарио цон Питхон, но сиемпре се преста ла атенцион нецесариа а цомо се инсталан, фијан и ацтуализан лос пакуетес де терцерос. Ентре лас херрамиентас, ла фалта де хабитос солидос и ла цомплејидад де лос графос депенденциа, ес фацил монтар ун лио цуриосо куе афецте а десарролло, пруебас и десплиегуес.
Ен лас сигуиентес линеас вас а енцонтрар уна гуиа цомплета и працтица куе рецоге тодо ло есенциал: куе ес уна буена гестион де депенденциас и пор куе ес цритица, цомо усар пип и енторнос виртуалес, цомо трабајар цон рекуирементс.ткт (укључује интеграцију са ИДЕ-овима као Висуал Студио), што значи да Пипенв, Поезија, ПДМ о Рај, и цомо афронтарло ен платаформас цлоуд цомо Amazon MWAA (Airflow) и Cloud RunТакође ћете видети сигурносне препоруке (блокуео и пиннинг, есцанео де вулнерабилидадес) и пистас цларас собре цуандо елегир цада херрамиента.
Куе ентендемос пор гестион депенденциас и пор куе импорта
У Питхон-у, цаси цуалкуиер проиецто серио серио се апоиа ен либрериас и фрамеворкс де терцерос. Есас пиезас куе анадес цомо депенденциас тамбиен траен сус пропиас депенденциас транситивас; пор ејемпло, си усас пандас, аррастрас НумПи. Цон унос поцос пакуетес иа естас цонструиендо ун графо куе, син цонтрол, пуеде деривар ен инцомпатибилидадес, цомпортамиентос инесперадос о десплиегуес фаллидос.
Ла ситуацион се цомплица поркуе разрешава конфликте верзија ен ун графо депенденциас пуеде сер интратабле ен цасос реалес (ентра ен террено де цомплејидад типо НП-хард). Пор есо хаце фалта уна естратегиа: аислар цада проиецто, фијар версионес цуандо тоца, блокуеар ел енторно цон арцхивос де лоцк и усар херрамиентас куе муестрен де форма транспаренте куе хаи инсталадо и пор куе.
пип и ел диа а диа: инсталација, актуелизацион, информацион и лимпиеза
пип ес ел гестор де пакуетес цласицо дел ецосистема и виене де серие ен версионес модернас де Питхон. Компруеба твоје присуство са pip --version o python -m pip --version. Си пор цуалкуиер мотиво но еста диспонибле, пуедес анадирло цон ел сцрипт де инсталацион адецуадо оа травес дел гестор де пакуетес де ту дистрибуцион ен Линук.
Пара инсталар ун пакуете десде ел индице официал ПиПИ, баста цон pip install nombre_paquete. Си куиерес уна версион цонцрета, пуедес усар == (на пример, pip install requests==2.23.0) о еспецифицадорес цомпатиблес цомо ~= пара акотар а уна рама менор (pip install requests~=2.18.0). пип мантиене уна цацхе лоцал куе ацелера инсталационес футурас.
Пара ревисар ло куе тиенес инсталадо, рецурре а pip list, и си куиерес сабре деталлес де ун пакуете ен цонцрето (рута, версион, депенденциас децларадас), pip show nombre. Такође, са pip list --outdated дететас пакуетес десацтуализадос и цон pip install --upgrade nombre ацтуализас уна библиотеца цонцрета. Си алго иа но те сирве, pip uninstall nombre Помоћи ћеш ми да очистиш.
Тамбиен ес посибле инсталар десде репоситориос Гит цуандо ло нецеситес, пор ејемпло: pip install git+https://github.com/usuario/repositorio.git@rama. Есте патрон сирве пара рамас, етикуетас о инцлусо цоммитс цонцретос, утил пара пробар парцхес о версионес превиас а ун ланзамиенто.
Репозиторијуми, ПиПИ и папел де рекуирементс.ткт
ПиПИ ес ел индице централ дел ецосистема и донде се публица ла гран маиориа де пакуетес. Алли пуедес консултантске верзије, лиценце, цомпатибилидад цон интерпретес, цомандос де инсталацион и мас деталлес. Цомо но хаи ревисион превиа естрицта, цонвиене инвертир унос минутос ен ревисар ло куе инсталас и, си процеде, фијар версионес пара евитар сорпресас.
Ла форма традиционал де цаптурар ел естадо де ту енторно ес цон pip freeze > requirements.txt. Есе арцхиво инцлуие версионес прецисас де тодо ло инсталадо, ло куе фацилита ла репродуццион дел енторно ен отра макуина цон pip install -r requirements.txt. Ес уна буена працтица пара проиецтос куе куиерас покретач ентре екуипос, ЦИ о продуццион.
Ако користите Висуал Студио, постоји директни порт за овај флујо: пуедес инсталар депенденциас десде рекуирементс.ткт, генераларло, упдатеизар ентрадас екистентес или реемплазарло пор цомплето десде ел Екплорадор де солуционес и ел апартадо де Енторнос де Питхон. Адемас, си алгуна депенденциа фалла, тиенес дос цаминос: уређивати ел арцхиво пара екцлуир ел пакуете проблематицо и реинтентар, о биен апунтар а уна версионабле инсталабле цон лас опционес де пип.
Ун труцо аванзадо ен есценариос цорпоративос ес монтар ун репоситорио де руедас лоцал: са pip wheel цреас лас руедас и луего апунтас ен рекуирементс.ткт опционес цомо --find-links y --no-index пара инсталар десде ту алмацен интерно. Еста тецница ацелера инсталационес и евита депендер де Интернет ен десплиегуес церрадос.

Енторнос виртуалес: аисламиенто импресциндибле
Инсталирајте зависности ен ел енторно глобал де ту система суеле сер мала идеа. Ло рецомендабле ес куе цада проиецто вива ен су пропио енторно виртуал, де модо куе версионес и пакуетес куеден енцапсуладос. Цон venv цреас ун енторно дедицадо и, а партир де ахи, тодо ло куе инсталес цон пип но се мезцлара цон лос демас проиецтос.
Есте аисламиенто те пермите боррар и рехацер енторнос син афецтар а отрос трабајос, евита конфликтос ентре версионес и фацилита ла вида ен екуипос донде цада репоситорио тиене су листа де рекуиситос. Си иа те пареце уна рутина, естас ен ел буен цамино.
Пипенв: депенденциас и енторнос бајо ел мисмо парагуас
Пипенв нацио пара симплифицар ел биномио пип + венв и сумар тразабилидад цон арцхивос де лоцк. Одржава а Pipfile пара децларар депенденциас и ун Pipfile.lock куе блокуеа версионес цонцретас, асегурандо куе цада миембро дел екуипо инстале екацтаменте ло мисмо.
Међу његовим предностима: цреа и гестиона енторнос виртуалес аутоматицаменте, сепара депенденциас нормалес и де десарролло, и се интегра биен цон отрас утилидадес дел ецосистема. Инсталар ун пакуете ес тан дирецто цомо pipenv install requests; си куиерес депенденциас де дев, pipenv install pytest --devДа бисте активирали унутрашњост, pipenv shellза скидање, exit.
У Pipfile пуедес усар еспецифицадорес де версион фамилиес цомо ==, >=, ~ o ^. Аункуе СемВер ес популаран и цомодо, ен ел ецосистема Питхон ла референциа формал де версионес ацептадас ла дицта ПЕП 440, аси куе цонвиене ентендер амбос енфокуес пара но ллеварсе сустос цуандо уна херрамиента опта пор. ПЕП440.
Си ун пакуете деја де хацер фалта: pipenv uninstall nombre ло елимина и актуализа танто Пипфиле као Пипфиле.лоцк. Пара куиенес бусцан репродуцибилидад и уна екпериенциа мас гуиада куе пип+венв, Пипенв ес уна опцион муи разонабле.
Поетри, ПДМ и Рие: флујо модерно цон пипројецт.томл и лоцк
Поезија, ПДМ и Рие дан ун пасо мас алла: гестионан депенденциас, емпакуетадо и публицацион апоиандосе ен пипројецт.томл и ен арцхивос де лоцк. Цон Поетри пуедес инициар ун проиецто, дефинир метадатос, цонструир ун пакуете и публицарло ен ПиПИ син салирте де су интерфаз. Ово је решење за комплетан циклус са ресуелве зависности од коноцимиенто де лос метадатос де ПиПИ и лас реглас де ПЕП 440.
Уна идеа цлаве де Поетри и фамилиа ес куе пипројецт.томл деја цларо ло куе ел проиецто пиде а алто нивел, миентрас куе ел арцхиво де лоцк цонтиене ла фотографиа екацта де версионес и хассхес куе фунционан. Аси, ел екуипо цолабора собре ла дефиницион децларатива и ел лоцк гарантиза куе ел енторно сеа репродуцибле син пелеарсе цон депенденциас транситивас.
ПДМ пропоне уна екпериенциа муи симилар, тамбиен центрада ен pyproject.toml, и Рие анаде ун енфокуе дистинто: адемас де гестионар депенденциас, пуеде инсталар версионс де Питхон пара ел проиецто, унифицандо аун мас ел флујо де трабајо. Рие ес импулсадо пор Армин Ронацхер, фигура рецоноцида ен ел ецосистема пор проиецтос цомо Фласк и Цлицк.
Како савет за путовања: ла ресолуцион де цонтрацтос ентре пакуетес но сиемпре тиене салида перфецта. Ен оцасионес хаи куе приоризар куе депенденциа манда, аплазар ацтуализационес о ајустар цодиго пара цонцилиар версионес. Еса ес ла вида реал де лос проиецтос цуандо ел графо цреце.
ув и пики: нуевас пропуестас енфоцадас ен велоцидад и репродуцибилидад
Ен лос ултимос анос хан апарецидо херрамиентас цомо ув и пики куе понен ел фоцо ен ла рапидез де инсталацион и ен енторнос репродуциблес и херметицос. Ен есенциа, апунтан а ацортар драстицаменте тиемпос де препарацион иа дефинир естадос де депенденциас естаблес, цон уна екпериенциа куе ресулта атрацтива пара ЦИ и пара итерар ен екуипос грандес.
Аункуе тодавиа цонвивен цон опционес цонсолидадас, мерецен уна пруеба ен проиецтос донде лос цуеллос де ботелла естен ен ла препарацион дел енторно о донде се приорице уна репродуцибилидад ферреа. Ла елеццион финал депендера де тус нецесидадес, ту флујо и ло биен куе комбинује цон ел ресто де тус херрамиентас.
Сегуридад: фијар, блокуеар, верифицар и есцанеар
Ел блокуео де версионес медианте арцхивос цомо рекуирементс.ткт, Пипфиле.лоцк или ел лоцк де Поетри но ес постурео: смањити риесгос реалес. Ал пиннеар версионес, минимизас куе уна ацтуализацион цасеал интродузца ун пакуете цон уна вулнерабилидад рециенте о, пеор, цонтенидо малициосо. Адемас, много закључаних датотека чува хешеви интегритета де лос артефацтос, де модо куе си ел арцхиво десцаргадо но цоинциде, ла херрамиента се куеја и те ахорра ун сусто ен ла цадена де суминистро.
Пара куиенес лидеран екуипос о десплиеган а продуццион, централизар и аудитар депенденциас ес цлаве. Херрамиентас де есцанео цомо лас интеградас пор платаформас де аналисис (пор ејемпло, усандо pipgrip пара ектраер ел графо) детецтан вулнерабилидадес, лиценциас проблематицас и пакуетес хередадос. Инцлусо си ел система десцарга и анализа ен ун енторно аисладо, ла гананциа еста ен ла висибилидад: куе депендес, де донде виене и куе риесго пресента.
Си усас патронес де иниеццион де депенденциас а нивел де аркуитецтура, пуедес апровецхар есе пунто централ пара аудитар и суституир цомпонентес де риесго, интерцамбиандо имплементационес пор енволториос сегурос о доблес ен енторнос де пруебас. Ла цлаве еста ен иниецтар соло пиезас цонфиаблес, цон версионес фијадас и валидадас.
Интеграција са Висуал Студио-ом: генерисање и мантенимиенто де рекуирементс.ткт
Висуал Студио фацилита ел цицло цласицо де рекуирементс.ткт: пуедес инсталар тодо ло куе фигура ен ел арцхиво, генерарло а партир дел енторно фацт о фацтизарло де форма селецтива. Цуандо иа екисте, ел ИДЕ те офреце опционес цомо реемплазарло ентеро, ацтуализар соло лас ентрадас пресентес о ацтуализар и анадир нуевас ентрадас детецтадас ен ел енторно.
Си дуранте ла инсталацион алго фалла, тиенес дос салидас рецоноцидас: уредник ел арцхиво пара екцлуир ел пакуете конфликтиво и волвер а интентар, о усар лас опционес де пип пара апунтар а уна версион куе си се инстале. Пара енторнос цонтроладос, цомпилар руедас цон pip wheel и користити --find-links y --no-index ен ел рекуирементс.ткт ацелера муцхисимо и те хаце менос депендиенте де Интернет.
Облак и додатци: Amazon MWAA (Airflow) и Cloud Run
У Амазон Манагед Воркфловс фор Апацхе Аирфлов (МВАА) ла инсталација зависности се базира на захтевима.ткт алојадо ен С3. Цада вез куе субес уна нуева версион, ен ла цонсола де МВАА сеналас ла ревисион и ел сервицио ејецута pip3 install -r requirements.txt танто ен ел сцхедулер цомо ен лос радници. Пуедес инсталар ектрас де Аирфлов, руедас (.whl) и тамбиен цонсумир индицес привадос цомпатиблес цон ПиПИ.
Ес рецомендабле фијар версионес пара евитар инцомпатибилидадес инесперадас; си дејас ун пакуете син версион, МВАА траера ла ултима диспонибле, цон ел риесго де конфликто цон ел ресто де ту арцхиво. Пуедес ревисар лос логс дел сцхедулер ен ЦлоудВатцх пара цонфирмар куе тодо се инстал цомо есперас и депурар еррорес де инсталцион.
Ен ел цасо де Цлоуд Рун за функције и Питхон, ел естандар адмитидо ес рекуирементс.ткт ен ел мисмо дирецторио куе ту маин.пи. Пипфиле или Пипфиле.лоцк није подржан за овај флујо, јер није укључен укључен у пројекат. Функције Фрамеворк ес уна депенденциа облигаториа; аункуе ла платаформа пуеде инсталарла пор ти, цонвиене децларарла екплицитаменте.
Си нецеситас емпакуетар депенденциас лоцалменте (поркуе но хаи аццесо а Интернет или поркуе ел пакуете но еста ен ПиПИ), можете преузети кола са pip download пара ла Версион де Питхон и платаформа адецуадас и десплегарлас јунто ал цодиго. Тамбиен екисте ла опцион де вендоризар депенденциас цон ла варијабли де цомпилацион GOOGLE_VENDOR_PIP_DEPENDENCIES, куе индица ел дирецторио цон лос артефацтос а реутилизар син волвер а инсталарлос десде ла ред.
За приватне зависности, Артифацт Регистри пуеде алојар тус пакуетес и ла цомпилацион генерара цреденциалес аутоматицаменте пара ла цуента де сервицио. Ако је потребно више репозиторија, враћа се виртуелно складиште које контролише орден де ресолуцион де пип. Цуандо ел репоситорио привадо уса аутентицацион ССХ, деберас цопиар лос артефацтос цон антелацион поркуе ел енторно де буилд но екпоне ллавес ССХ.
Буенас працтицас куе евитан дисгустос
Аисла цада проиецто ен су енторно и евита инсталационес глобалес; те ахоррара конфликтос ентре проиецтос и те пермитира боррар и рецреар енторнос цон сегуридад цуандо хага фалта.
Фија версионес цуандо цонгелес ун енторно пара продуццион, ЦИ или демос. Иа усес рекуирементс.ткт, Пипфиле.лоцк о ел лоцк де Поетри, ел објетиво ес куе ел екуипо и лос сервидорес веан екацтаменте ел мисмо цоњунто де пакуетес и субдепенденциас.
Уса ун арцхиво де лоцк сиемпре куе ту херрамиента ло адмита и цомпруеба куе инцлуиа хассхес пара верифицар интегридад. Си детецтас дивергенциас, инвестига антес де ацтуализар а циегас.
Аутоматиза ел есцанео де вулнерабилидадес ен тус депенденциас дирецтас и транситивас. Тенер ун информе периодицо собре ло куе усас, су лиценциа и су естадо де сегуридад аиуда а приоризар ацтуализационес цон цабеза.
Елиге херрамиента сегун ел тамано и фасес дел проиецто: за скрипте о прототипу, пип+венв са захтевима.ткт ва собрадо; пара продуцтос цон екуипо и пипелине, цонсидера пип-тоолс, Пипенв о Поетри; си адемас емпакуетас и публицас, Поетри о ПДМ бриллан; и си нецеситас гестионар тамбиен версионес де Питхон, Рие симплифица ел цоњунто.
Цуандо усар цада херрамиента син пердерте ен ел цаталого
пип + венв енцаја де маравилла ен проиецтос пекуенос, пруебас рапидас и енторнос де лабораторио. Анаде requirements.txt цуандо ваиас а цомпартир о десплегар.
Пипенв ес идеал си куиерес уна екпериенциа интеграда цон енторнос и лоцк син цамбиар драстицаменте ту форма де трабајар. Те да репродуцибилидад син апрендертело тодо десде церо.
Поезија те сирве цуандо ел проиецто ес иа ун пакуете серио: дефинишите метадатос, ресуелве зависност, цонструие артефацтос и публица ен ПиПИ. Ел лоцк те гарантиза куе продуццион вера ло мисмо куе ту портатил.
ПДМ офреце уна екпериенциа модерна апоиада ен пипројецт.томл и, пара муцхос екуипос, ес уна алтернатива муи цомода а Поетри цон децисионес симиларес перо ун сабор дистинто.
Раж брилла си куиерес адемас атар ла Верион де Питхон дел проиецто, цреандо ун флујо цохеренте де ектремо а ектремо. Ес еспециалменте утил цуандо вариос репоситориос дебен линеар танто интерпрете цомо депенденциас.
Ацтуализационес, ретроцесос и цасос еспециалес
Планирај када се ажурира и евита хацерло јусто антес де ун хито цритицо; пробар ен ун енторно де стагинг цон ел лоцк нуево смањити сустос. Си алго фалла, ел лоцк антериор ес ту салвавидас пара волвер а ун естадо естабле.
Си нецеситас инсталар десде цодиго ен десарролло, користећи инсталацију Гита цон рама о етикуета естабле и доцумента ел поркуе. Цуандо салга уна версион ен ПиПИ, мигра а елла пара волвер ал царрил хабитуал.
Пара енторнос син салида а Интернет, цомпилар и алмаценар руедас пропиас ес ел ас бајо ла манга. Апунта ен ту рекуирементс.ткт донде енцонтрарлас цон --find-links и десацтива индицес ектернос цон --no-index када има смисла.
Пор куе муцха генте суфре цонпенденциас ен Питхон и цомо евитарло
Ла цомбинацион де херрамиентас диспарес, ла фалта де хабитос и ла вариедад де опционес ллева а еррорес цомунес: глобално инсталирано, нема фијар верзија, мезцлар гесторес, или игнорисање ел графо транситиво. Ла рецета пара но пердер тиемпо ес фијар уна естратегиа десде ел принципио и есцрибирла ен ел РЕАДМЕ: куе гестор усар, цомо се цонгела ел енторно, цомо се ацтуализа и цомо се десплиега.
Тамбиен аиуда ентендер лас диференциас цонцептуалес ентре СемВер и ПЕП 440, пара интерпретар цоррецтаменте операдорес и екпецтативас де цомпатибилидад. Но тодас лас либрериас сигуен ла мисма дисциплина, и ту гестор аплицара реглас пропиас а ла хора де ресолвер ел цоњунто финал.
Ла администрацион депенденциас ен Питхон но тиене пор куе сер уна одисеа си доминас ло басицо де пип и венв, те апоиас ен лоцк филес, елигес ун гестор модерно цуандо ел проиецто ло пиде и вигилас ла сегуридад цон херрамиентас де есцанео. Танто ен лоцал цомо ен платаформас цлоуд цомо МВАА и Цлоуд Рун, фијар версионес, блокуеар и аудитар марца ла диференциа ентре десплегар цон цонфианза о југар а ла рулета цон цада буилд.