PyPI Python แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒแƒ แƒ˜ แƒ›แƒแƒ•แƒœแƒ” แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ

Python แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ PyPI (Python Package Index) แƒแƒฆแƒ›แƒแƒฉแƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒ›แƒแƒ•แƒœแƒ” แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ "python3-dateutil"แƒ“แƒ"แƒฏแƒ”แƒ˜แƒšแƒ˜แƒคแƒ˜", แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ”แƒ แƒ—แƒ˜ แƒแƒ•แƒขแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  olgired2017 แƒ“แƒ แƒจแƒ”แƒœแƒ˜แƒฆแƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒš แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒแƒ“"แƒ—แƒแƒ แƒ˜แƒฆแƒ“แƒ”แƒ‘แƒ"แƒ“แƒ"jellyfish" (แƒ’แƒแƒ›แƒแƒ˜แƒ แƒฉแƒ”แƒ•แƒ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก "l" (L) แƒœแƒแƒชแƒ•แƒšแƒแƒ“ แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒ "I" (i) แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—). แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜ แƒœแƒแƒžแƒแƒ•แƒœแƒ˜ แƒ“แƒแƒจแƒ˜แƒคแƒ•แƒ แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ“แƒ”แƒœแƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ“แƒแƒ”แƒ’แƒ–แƒแƒ•แƒœแƒ แƒ—แƒแƒ•แƒ“แƒแƒ›แƒกแƒฎแƒ›แƒ”แƒšแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก. แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒฃแƒ แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒแƒฎแƒšแƒ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ PyPI แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒ“แƒแƒœ.

แƒ—แƒแƒ•แƒแƒ“ แƒ›แƒแƒ•แƒœแƒ” แƒ™แƒแƒ“แƒ˜ แƒ˜แƒงแƒ "jeIlyfish" แƒžแƒแƒ™แƒ”แƒขแƒจแƒ˜ แƒ“แƒ "python3-dateutil" แƒžแƒแƒ™แƒ”แƒขแƒ›แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ แƒ˜แƒ’แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ.
แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒ แƒฉแƒ แƒฃแƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ›แƒแƒช แƒ“แƒแƒฃแƒจแƒ•แƒ”แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒแƒก (typosquatting). แƒ›แƒแƒ•แƒœแƒ” แƒžแƒแƒ™แƒ”แƒขแƒ˜ โ€žjeIlyfishโ€œ แƒฉแƒแƒ›แƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— แƒ”แƒ แƒ—แƒ˜ แƒฌแƒšแƒ˜แƒก แƒฌแƒ˜แƒœ, 11 แƒฌแƒšแƒ˜แƒก 2018 แƒ“แƒ”แƒ™แƒ”แƒ›แƒ‘แƒ”แƒ แƒก แƒ“แƒ แƒจแƒ”แƒฃแƒ›แƒฉแƒœแƒ”แƒ•แƒ”แƒšแƒ˜ แƒ“แƒแƒ แƒฉแƒ. แƒžแƒแƒ™แƒ”แƒขแƒ˜ โ€žpython3-dateutilโ€œ แƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ 29 แƒฌแƒšแƒ˜แƒก 2019 แƒœแƒแƒ”แƒ›แƒ‘แƒ”แƒ แƒก แƒ“แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ“แƒฆแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒก แƒ”แƒญแƒ•แƒ˜ แƒ’แƒแƒฃแƒฉแƒœแƒ“แƒ. แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ›แƒแƒ•แƒœแƒ” แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜.

แƒ›แƒ”แƒ“แƒฃแƒ–แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ™แƒ”แƒขแƒจแƒ˜ แƒจแƒ”แƒ“แƒ˜แƒแƒ“แƒ แƒ™แƒแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ“แƒ โ€žแƒฐแƒ”แƒจแƒ”แƒ‘แƒ˜แƒกโ€œ แƒกแƒ˜แƒแƒก GitLab-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ แƒ” แƒกแƒแƒชแƒแƒ•แƒ˜แƒ“แƒแƒœ. แƒแƒ› โ€žแƒฐแƒ”แƒจแƒ”แƒ‘แƒ—แƒแƒœโ€œ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ›แƒ แƒแƒฉแƒ•แƒ”แƒœแƒ, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ base64 แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ”แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ›แƒ แƒแƒฆแƒ›แƒแƒแƒฉแƒ˜แƒœแƒ SSH แƒ“แƒ GPG แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜, แƒแƒกแƒ”แƒ•แƒ” แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒกแƒแƒฎแƒšแƒ˜แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒ“แƒแƒœ แƒ“แƒ PyCharm แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ แƒฌแƒ›แƒฃแƒœแƒ”แƒ‘แƒแƒ—แƒ แƒกแƒ˜แƒ’แƒ”แƒšแƒ”แƒ‘แƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ’แƒแƒ แƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก DigitalOcean แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒ–แƒ”.

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ