/
fedorhub
/
Python_Le
Обзор
Документация
Войти
/
fedorhub
/
Python_Le
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
python/jupyter-notebook-14-03/index.htm
1 004 строки
113 KB
fedorhub
upload files
17 дек 2025, 14:35
17 дек 2025, 14:35
50de53d
Код
Авторство
О чём код?
<!DOCTYPE html> <html class="no-js" lang="ru-RU"> <head> <meta http-equiv="content-type" content="text/html" charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" > <link rel="profile" href="http://gmpg.org/xfn/11"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <script> MathJax = { tex: { inlineMath: [['$','$'],['\\(','\\)']], processEscapes: true }, options: { ignoreHtmlClass: 'tex2jax_ignore|editor-rich-text' } }; </script> <!-- This site is optimized with the Yoast SEO plugin v23.8 - https://yoast.com/wordpress/plugins/seo/ --> <title>Jupyter Notebook. Часть 3 | Программирование на Питоне</title> <meta name="description" content="В третьей части занятия мы будем изучать дистрибутив Anaconda. В частности, поговорим про Conda, Anaconda Prompt и Anaconda Navigator." /> <link rel="canonical" href="https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/" /> <meta property="og:locale" content="ru_RU" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Jupyter Notebook. Часть 3 | Программирование на Питоне" /> <meta property="og:description" content="В третьей части занятия мы будем изучать дистрибутив Anaconda. В частности, поговорим про Conda, Anaconda Prompt и Anaconda Navigator." /> <meta property="og:url" content="https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/" /> <meta property="og:site_name" content="Машинное обучение" /> <meta property="article:modified_time" content="2024-10-12T18:30:03+00:00" /> <meta property="og:image" content="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy.jpg" /> <meta property="og:image:width" content="2112" /> <meta property="og:image:height" content="837" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:label1" content="Примерное время для чтения" /> <meta name="twitter:data1" content="2 минуты" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/","url":"https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/","name":"Jupyter Notebook. Часть 3 | Программирование на Питоне","isPartOf":{"@id":"https://www.dmitrymakarov.ru/#website"},"primaryImageOfPage":{"@id":"https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#primaryimage"},"image":{"@id":"https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#primaryimage"},"thumbnailUrl":"https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy-1024x406.jpg","datePublished":"2024-05-09T07:48:33+00:00","dateModified":"2024-10-12T18:30:03+00:00","description":"В третьей части занятия мы будем изучать дистрибутив Anaconda. В частности, поговорим про Conda, Anaconda Prompt и Anaconda Navigator.","breadcrumb":{"@id":"https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#primaryimage","url":"https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy.jpg","contentUrl":"https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy.jpg","width":2112,"height":837},{"@type":"BreadcrumbList","@id":"https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Главная страница","item":"https://www.dmitrymakarov.ru/"},{"@type":"ListItem","position":2,"name":"Программирование на Питоне","item":"https://www.dmitrymakarov.ru/python/"},{"@type":"ListItem","position":3,"name":"Jupyter Notebook. Часть 3"}]},{"@type":"WebSite","@id":"https://www.dmitrymakarov.ru/#website","url":"https://www.dmitrymakarov.ru/","name":"Машинное обучение","description":"","publisher":{"@id":"https://www.dmitrymakarov.ru/#/schema/person/3fc221e2d391cc5cfd9d31c9c251c2a4"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.dmitrymakarov.ru/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":["Person","Organization"],"@id":"https://www.dmitrymakarov.ru/#/schema/person/3fc221e2d391cc5cfd9d31c9c251c2a4","name":"DmitryMakarov","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https://www.dmitrymakarov.ru/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/2c5f922d990c667feffc00f99517cc0e?s=96&d=mm&r=g","contentUrl":"https://secure.gravatar.com/avatar/2c5f922d990c667feffc00f99517cc0e?s=96&d=mm&r=g","caption":"DmitryMakarov"},"logo":{"@id":"https://www.dmitrymakarov.ru/#/schema/person/image/"}}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//cdn.jsdelivr.net' /> <link rel="alternate" type="application/rss+xml" title="Машинное обучение » Лента" href="https://www.dmitrymakarov.ru/feed/" /> <link rel="alternate" type="application/rss+xml" title="Машинное обучение » Лента комментариев" href="https://www.dmitrymakarov.ru/comments/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.dmitrymakarov.ru\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.6.2"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='mci-footnotes-no-tooltips-pagelayout-none-css' href='https://www.dmitrymakarov.ru/wp-content/plugins/footnotes/css/footnotes-nottbrpl0.min.css?ver=2.7.3' type='text/css' media='all' /> <link rel='stylesheet' id='urvanov_syntax_highlighter-css' href='https://www.dmitrymakarov.ru/wp-content/plugins/urvanov-syntax-highlighter/css/min/urvanov_syntax_highlighter.min.css?ver=2.8.37' type='text/css' media='all' /> <link rel='stylesheet' id='crayon-theme-familiar-my-copy-css' href='https://www.dmitrymakarov.ru/wp-content/uploads/urvanov-syntax-highlighter/themes/familiar-my-copy/familiar-my-copy.css?ver=2.8.37' type='text/css' media='all' /> <link rel='stylesheet' id='crayon-font-consolas-css' href='https://www.dmitrymakarov.ru/wp-content/plugins/urvanov-syntax-highlighter/fonts/consolas.css?ver=2.8.37' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.dmitrymakarov.ru/wp-includes/css/dist/block-library/style.min.css?ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='ultimate_blocks-cgb-style-css-css' href='https://www.dmitrymakarov.ru/wp-content/plugins/ultimate-blocks/dist/blocks.style.build.css?ver=672da52738c13' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #121212;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--dark-gray: #333;--wp--preset--color--medium-gray: #555;--wp--preset--color--light-gray: #777;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 16px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 24px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 18px;--wp--preset--font-size--larger: 28px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='ub-extension-style-css-css' href='https://www.dmitrymakarov.ru/wp-content/plugins/ultimate-blocks/src/extensions/style.css?ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='mcluhan-fonts-css' href='https://www.dmitrymakarov.ru/wp-content/themes/mcluhan/assets/css/fonts.css?ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='fontawesome-css' href='https://www.dmitrymakarov.ru/wp-content/themes/mcluhan/assets/css/font-awesome.css?ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='mcluhan-style-css' href='https://www.dmitrymakarov.ru/wp-content/themes/mcluhan/style.css?ver=2.1.1' type='text/css' media='all' /> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" id="urvanov_syntax_highlighter_js-js-extra"> /* <![CDATA[ */ var UrvanovSyntaxHighlighterSyntaxSettings = {"version":"2.8.37","is_admin":"0","ajaxurl":"https:\/\/www.dmitrymakarov.ru\/wp-admin\/admin-ajax.php","prefix":"urvanov-syntax-highlighter-","setting":"urvanov-syntax-highlighter-setting","selected":"urvanov-syntax-highlighter-setting-selected","changed":"urvanov-syntax-highlighter-setting-changed","special":"urvanov-syntax-highlighter-setting-special","orig_value":"data-orig-value","debug":""}; var UrvanovSyntaxHighlighterSyntaxStrings = {"copy":"Copied to the clipboard","minimize":"Click To Expand Code"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-content/plugins/urvanov-syntax-highlighter/js/min/urvanov_syntax_highlighter.min.js?ver=2.8.37" id="urvanov_syntax_highlighter_js-js"></script> <style>#ub_table-of-contents-31fb7531-f46e-46ad-a1d2-13a3a10c622f{ }#ub_table-of-contents-31fb7531-f46e-46ad-a1d2-13a3a10c622f .ub_table-of-contents-header{ text-align: left; } #ub-content-toggle-e5c41d33-6e66-400e-bfbd-f5bce272757b{ }#ub-content-toggle-e5c41d33-6e66-400e-bfbd-f5bce272757b .wp-block-ub-content-toggle-accordion{ border-color: #f1f1f1; } #ub-content-toggle-e5c41d33-6e66-400e-bfbd-f5bce272757b .wp-block-ub-content-toggle-accordion-title-wrap{ background-color: #f1f1f1; } #ub-content-toggle-e5c41d33-6e66-400e-bfbd-f5bce272757b .wp-block-ub-content-toggle-accordion-title{ color: #000000; } #ub-content-toggle-e5c41d33-6e66-400e-bfbd-f5bce272757b .wp-block-ub-content-toggle-accordion-toggle-wrap{ color: #000000; } .ub-content-toggle-title-e0619867-dc63-4651-9a6c-b4cb7e628b7a > a{ color: inherit; }#ub-content-toggle-8e467d13-6952-468c-8b46-266407bf3ba3{ }#ub-content-toggle-8e467d13-6952-468c-8b46-266407bf3ba3 .wp-block-ub-content-toggle-accordion{ border-color: #f1f1f1; } #ub-content-toggle-8e467d13-6952-468c-8b46-266407bf3ba3 .wp-block-ub-content-toggle-accordion-title-wrap{ background-color: #f1f1f1; } #ub-content-toggle-8e467d13-6952-468c-8b46-266407bf3ba3 .wp-block-ub-content-toggle-accordion-title{ color: #000000; } #ub-content-toggle-8e467d13-6952-468c-8b46-266407bf3ba3 .wp-block-ub-content-toggle-accordion-toggle-wrap{ color: #000000; } .ub-content-toggle-title-460f353e-42c1-45a2-adbc-76d742f68629 > a{ color: inherit; }#ub-content-toggle-1adec68b-4cb1-44ab-8dcd-7a07ce859b07{ }#ub-content-toggle-1adec68b-4cb1-44ab-8dcd-7a07ce859b07 .wp-block-ub-content-toggle-accordion{ border-color: #f1f1f1; } #ub-content-toggle-1adec68b-4cb1-44ab-8dcd-7a07ce859b07 .wp-block-ub-content-toggle-accordion-title-wrap{ background-color: #f1f1f1; } #ub-content-toggle-1adec68b-4cb1-44ab-8dcd-7a07ce859b07 .wp-block-ub-content-toggle-accordion-title{ color: #000000; } #ub-content-toggle-1adec68b-4cb1-44ab-8dcd-7a07ce859b07 .wp-block-ub-content-toggle-accordion-toggle-wrap{ color: #000000; } .ub-content-toggle-title-da7daf18-3805-4e48-8b43-6965cbd8b0d9 > a{ color: inherit; }#ub_divider_bfcfff6c-0790-496c-ab96-947d4a4b17f3{ }#ub_divider_bfcfff6c-0790-496c-ab96-947d4a4b17f3 .ub_divider{ border-top:2px solid #ccc; margin-top: 20px; margin-bottom: 20px; width: 60%; } #ub_divider_2244103e-6667-4c8d-aff4-aac4fc08f680{ }#ub_divider_2244103e-6667-4c8d-aff4-aac4fc08f680 .ub_divider{ border-top:1px solid #ccc; margin-top: 20px; margin-bottom: 20px; width: 60%; } #ub_divider_78cd703f-c0ff-47c2-8746-7f7466a95f84{ }#ub_divider_78cd703f-c0ff-47c2-8746-7f7466a95f84 .ub_divider{ border-top:1px solid #ccc; margin-top: 20px; margin-bottom: 20px; width: 60%; } #ub_divider_2fb6af56-a410-4f1a-9301-cafaf7532339{ }#ub_divider_2fb6af56-a410-4f1a-9301-cafaf7532339 .ub_divider{ border-top:1px solid #ccc; margin-top: 20px; margin-bottom: 20px; width: 60%; } #ub_divider_7a06f397-3263-4c5e-9e61-0c9b0dafcdbd{ }#ub_divider_7a06f397-3263-4c5e-9e61-0c9b0dafcdbd .ub_divider{ border-top:1px solid #ccc; margin-top: 20px; margin-bottom: 20px; width: 60%; } #ub_divider_4b124c7c-6c3d-4417-b574-fb2cf7154ba9{ }#ub_divider_4b124c7c-6c3d-4417-b574-fb2cf7154ba9 .ub_divider{ border-top:1px solid #ccc; margin-top: 20px; margin-bottom: 20px; width: 60%; } </style> <!-- Customizer CSS --> <style type="text/css"> body .site-header { background-color:#004235; }.social-menu.desktop { background-color:#004235; }.social-menu a:hover { color:#004235; }.social-menu a.active { color:#004235; }.mobile-menu-wrapper { background-color:#004235; }.social-menu.mobile { background-color:#004235; }.mobile-search.active { background-color:#004235; } </style> <!-- /Customizer CSS --> <script>jQuery( 'html' ).removeClass( 'no-js' ).addClass( 'js' );</script> <style type="text/css">.broken_link, a.broken_link { text-decoration: line-through; }</style><style type="text/css" id="custom-background-css"> body.custom-background { background-color: #fff9ef; } </style> <link rel="icon" href="https://www.dmitrymakarov.ru/wp-content/uploads/2021/08/cropped-wp-favicon-512-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.dmitrymakarov.ru/wp-content/uploads/2021/08/cropped-wp-favicon-512-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.dmitrymakarov.ru/wp-content/uploads/2021/08/cropped-wp-favicon-512-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.dmitrymakarov.ru/wp-content/uploads/2021/08/cropped-wp-favicon-512-270x270.png" /> <style type="text/css" media="all"> .footnotes_reference_container {margin-top: 24px !important; margin-bottom: 0px !important;} .footnote_container_prepare > p {border-bottom: 1px solid #aaaaaa !important;} </style> </head> <body class="page-template page-template-full-width-page-template page-template-full-width-page-template-php page page-id-27108 page-child parent-pageid-1374 custom-background full-width-template"> <a class="skip-link button" href="#site-content">Перейти к содержимому</a> <header class="site-header group"> <p class="site-title"><a href="https://www.dmitrymakarov.ru" class="site-name">Машинное обучение</a></p> <div class="nav-toggle"> <div class="bar"></div> <div class="bar"></div> </div> <div class="menu-wrapper"> <ul class="main-menu desktop"> </ul> </div><!-- .menu-wrapper --> <div class="social-menu desktop"> <ul class="social-menu-inner"> <li class="social-search-wrapper"><a href="https://www.dmitrymakarov.ru/?s="></a></li> </ul><!-- .social-menu-inner --> </div><!-- .social-menu --> </header><!-- header --> <div class="mobile-menu-wrapper"> <ul class="main-menu mobile"> <li class="toggle-mobile-search-wrapper"><a href="#" class="toggle-mobile-search">Поиск</a></li> </ul><!-- .main-menu.mobile --> </div><!-- .mobile-menu-wrapper --> <div class="mobile-search"> <div class="untoggle-mobile-search"></div> <form role="search" method="get" class="search-form" action="https://www.dmitrymakarov.ru/"> <label class="screen-reader-text" for="search-form-672da5275ac5f">Поиск:</label> <input type="search" id="search-form-672da5275ac5f" class="search-field" placeholder="Введите запрос" value="" name="s" autocomplete="off" /> </button> </form> <div class="mobile-results"> <div class="results-wrapper"></div> </div> </div><!-- .mobile-search --> <div class="search-overlay"> <form role="search" method="get" class="search-form" action="https://www.dmitrymakarov.ru/"> <label class="screen-reader-text" for="search-form-672da5275acdb">Поиск:</label> <input type="search" id="search-form-672da5275acdb" class="search-field" placeholder="Введите запрос" value="" name="s" autocomplete="off" /> </button> </form> </div><!-- .search-overlay --> <main class="site-content" id="site-content"> <article class="post-27108 page type-page status-publish hentry missing-thumbnail"> <header class="entry-header section-inner"> <h1 class="entry-title">Jupyter Notebook. Часть 3</h1> </header><!-- .entry-header --> <div class="entry-content section-inner"> <p class="has-light-gray-color has-text-color"><a href="https://www.dmitrymakarov.ru/">Все курсы</a> > <a href="https://www.dmitrymakarov.ru/python/">Программирование на Питоне</a> > Занятие 14 (часть 3)</p> <p>Поговорим про дистрибутив Anaconda более подробно.</p> <div class="wp-block-ub-table-of-contents-block ub_table-of-contents" id="ub_table-of-contents-31fb7531-f46e-46ad-a1d2-13a3a10c622f" data-linktodivider="false" data-showtext="show" data-hidetext="hide" data-scrolltype="auto" data-initiallyhideonmobile="false" data-initiallyshow="true"><div class="ub_table-of-contents-header-container"><div class="ub_table-of-contents-header"> <div class="ub_table-of-contents-title"><strong>Содержание занятия</strong></div></div></div><div class="ub_table-of-contents-extra-container"><div class="ub_table-of-contents-container ub_table-of-contents-1-column "><ul><li><a href=https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#0-conda>Conda</a></li><li><a href=https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#1-anaconda-prompt>Anaconda Prompt</a><ul><li><a href=https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#2-pakety-i-okruzheniya>Пакеты и окружения</a></li><li><a href=https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#3-import-moduley-i-peremennaya-path>Импорт модулей и переменная path</a></li></ul></li><li><a href=https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#4-anaconda-navigator>Anaconda Navigator</a></li><li><a href=https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#5-jupyterlab>JupyterLab</a></li><li><a href=https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#6-podvedem-itog>Подведем итог</a><ul><li><a href=https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#7-voprosy-dlya-zakrepleniya>Вопросы для закрепления</a></li><li><a href=https://www.dmitrymakarov.ru/python/jupyter-notebook-14-03/#8-otvety-na-voprosy>Ответы на вопросы</a></li></ul></li></ul></div></div></div> <h2 class="wp-block-heading" id="0-conda">Conda</h2> <p>Программа conda, как уже было сказано, объединяет в себе систему управления <em>пакетами</em> (как pip) и, кроме того, позволяет создавать <em>окружения</em>.</p> <p>Идея <strong>виртуального окружения</strong> или <strong>виртуальной среды</strong> (virtual environment) заключается в том, что если в рамках вашего проекта вы, например, используете определенную версию библиотеки Numpy и установка более ранней или более поздней версии приведет к сбоям в работе вашего кода, хорошим решением была бы изоляция нужной версии Numpy, а также всех остальных используемых вами библиотек. Именно для этого и нужно виртуальное окружение.</p> <p>Рассмотрим, как мы можем устанавливать пакеты и создавать окружения через Anaconda Prompt и через Anaconda Navigator.</p> <h2 class="wp-block-heading" id="1-anaconda-prompt">Anaconda Prompt</h2> <h3 class="wp-block-heading" id="2-pakety-i-okruzheniya">Пакеты и окружения</h3> <p><strong>Про пакеты</strong>. По аналогии с pip, установленные (в текущем окружении) пакеты можно посмотреть с помощью команды <span id="urvanov-syntax-highlighter-672da52733db7744578149" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda list</span></span>.</p> <p>Установить пакет можно с помощью команды <span id="urvanov-syntax-highlighter-672da52733dbd722409307" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda install <package_name></span></span>. Обновить пакет можно через <span id="urvanov-syntax-highlighter-672da52733dbf761345465" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda update <package_name></span></span>. Например, снова попробуем установить Numpy.</p> <figure class="wp-block-image size-large is-resized"><img fetchpriority="high" decoding="async" width="1024" height="406" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy-1024x406.jpg" alt="установка пакета через Anaconda Prompt" class="wp-image-13452" style="width:666px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy-1024x406.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy-300x119.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy-768x304.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy-1536x609.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy-2048x812.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy-1200x476.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-install-numpy-600x238.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p><strong>Про окружения</strong>. По умолчанию мы работаем в базовом окружении (base environment). Посмотреть, какие в целом установлены окружения можно с помощью команды <span id="urvanov-syntax-highlighter-672da52733dc0837450588" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda info --envs</span></span>.</p> <figure class="wp-block-image size-large is-resized"><img decoding="async" width="1024" height="397" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-info-envs-1024x397.jpg" alt="перечень виртуальных сред в Anaconda Prompt" class="wp-image-13453" style="width:663px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-info-envs-1024x397.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-info-envs-300x116.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-info-envs-768x298.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-info-envs-1536x596.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-info-envs-2048x795.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-info-envs-1200x466.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-info-envs-600x233.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Как вы видите, пока у нас есть только одно окружение. Давайте создадим еще одно виртуальное окружение и назовем его, например, waterfall.</p> <p>Введите команду <span id="urvanov-syntax-highlighter-672da52733dc1828832146" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda create --name waterfall</span></span>.</p> <figure class="wp-block-image size-large is-resized"><img decoding="async" width="1024" height="765" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-create-env-1024x765.jpg" alt="создание новой виртуальной среды в Anaconda Prompt" class="wp-image-13455" style="width:632px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-create-env-1024x765.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-create-env-300x224.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-create-env-768x574.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-create-env-1536x1147.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-create-env-2048x1530.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-create-env-1200x896.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-create-env-600x448.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Введем две команды</p> <ul class="wp-block-list"> <li> <span id="urvanov-syntax-highlighter-672da52733dc2302339722" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda activate waterfall</span></span> для активации нового окружения; и</li> <li> <span id="urvanov-syntax-highlighter-672da52733dc3426900479" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda list</span></span> для того, чтобы посмотреть установленные в нем пакеты.</li> </ul> <figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="426" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-activate-env-1024x426.jpg" alt="пакеты, установленные в новой виртуальной среде" class="wp-image-13457" style="width:625px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-activate-env-1024x426.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-activate-env-300x125.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-activate-env-768x319.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-activate-env-1536x639.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-activate-env-2048x852.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-activate-env-1200x499.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-activate-env-600x250.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Как вы видите, в новом окружении нет ни одного пакета. Введем <span id="urvanov-syntax-highlighter-672da52733dc4147207179" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda search seaborn</span></span>, чтобы посмотреть какие версии этого пакета доступны для скачивания.</p> <figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="751" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-search-seaborn-1024x751.jpg" alt="доступные для скачивания из репозитория Anaconda версии пакета seaborn" class="wp-image-13458" style="width:665px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-search-seaborn-1024x751.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-search-seaborn-300x220.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-search-seaborn-768x564.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-search-seaborn-1536x1127.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-search-seaborn-2048x1503.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-search-seaborn-1200x881.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-search-seaborn-600x440.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Скачаем этот пакет через <span id="urvanov-syntax-highlighter-672da52733dc5942653805" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda install seaborn</span></span>. Проверим установку с помощью <span id="urvanov-syntax-highlighter-672da52733dc6387363894" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda list</span></span>.</p> <figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="625" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-list-new-env-1024x625.jpg" alt="установка пакета seaborn через Anaconda Prompt" class="wp-image-13461" style="width:672px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-list-new-env-1024x625.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-list-new-env-300x183.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-list-new-env-768x469.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-list-new-env-1536x937.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-list-new-env-2048x1249.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-list-new-env-1200x732.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/conda-list-new-env-600x366.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Как вы видите, помимо seaborn было установлено множество других необходимых для работы пакета библиотек. Вернуться в базовое окружение можно с помощью команд <span id="urvanov-syntax-highlighter-672da52733dc7063602938" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda activate base</span></span> или <span id="urvanov-syntax-highlighter-672da52733dc8013697744" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">conda deactivate</span></span>.</p> <h3 class="wp-block-heading" id="3-import-moduley-i-peremennaya-path">Импорт модулей и переменная path</h3> <p>На прошлом занятии мы научились <a href="https://www.dmitrymakarov.ru/python/script-13/#23-import-sobstvennogo-modulya-v-komandnoy-stroke">импортировать собственный модуль</a> в командной строке Windows (cmd).</p> <p>Посмотрим, отличается ли содержимое списка path для двух установленных версий Питона. Для этого в командной строке Windows и в Anaconda Prompt перейдем в интерактивный режим с помощью <span id="urvanov-syntax-highlighter-672da52733dc9098535915" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">python</span></span>. Затем введем</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da52733dca565928310" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dca565928310-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da52733dca565928310-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dca565928310-1">import sys</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da52733dca565928310-2">sys.path</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="490" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/path-cmd-Anaconda-1024x490.jpg" alt="содержимое переменной path в двух дистрибутивах Питона (python.org и Anaconda)" class="wp-image-13540" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/path-cmd-Anaconda-1024x490.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/path-cmd-Anaconda-300x144.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/path-cmd-Anaconda-768x368.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/path-cmd-Anaconda-1536x735.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/path-cmd-Anaconda-2048x980.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/path-cmd-Anaconda-1200x575.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/path-cmd-Anaconda-600x287.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Как мы видим, пути в переменной path будут отличаться и это нужно учитывать, если мы хотим локально запускать собственные модули.</p> <h2 class="wp-block-heading" id="4-anaconda-navigator">Anaconda Navigator</h2> <p>Запускать программы, управлять окружениями и устанавливать необходимые библиотеки можно также через Anaconda Nagivator. На вкладке <strong>Home</strong> вы видите программы, которые можно <em>открыть</em> (launch) или <em>установить</em> (install) для текущего окружения.</p> <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="543" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-home-1024x543.jpg" alt="Anaconda Navigator: вкладка Home" class="wp-image-13544" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-home-1024x543.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-home-300x159.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-home-768x407.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-home-1536x814.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-home-2048x1085.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-home-1200x636.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-home-600x318.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>На вкладке <strong>Environments</strong> отображаются созданные нами окружения (в частности, окружение waterfall, которое мы создали ранее) и содержащиеся в них пакеты.</p> <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="543" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-environments-1024x543.jpg" alt="Anaconda Navigator: вкладка Environments" class="wp-image-13545" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-environments-1024x543.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-environments-300x159.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-environments-768x407.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-environments-1536x815.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-environments-2048x1086.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-environments-1200x637.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/anaconda-navigator-environments-600x318.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>В целом интерфейс интуитивно понятен, и так как мы уже познакомились с принципом создания окружений и установки в них дополнительных пакетов, уверен, работа с Anaconda Navigator сложностей не вызовет.</p> <p>Прежде чем завершить, обратимся к еще одной программе для интерактивного программирования JupyterLab.</p> <h2 class="wp-block-heading" id="5-jupyterlab">JupyterLab</h2> <p>JupyterLab — расширенная версия Jupyter Notebook, которая также входит в дистрибутив Anaconda. Запустить эту программу можно через Anaconda Navigator или введя команду <span id="urvanov-syntax-highlighter-672da52733dcb826951592" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">jupyter lab</span></span> в Anaconda Prompt.</p> <p>После запуска вы увидите вкладку <strong>Launcher</strong>, в которой можно создать новый <em>блокнот</em> (Notebook) на Питоне или R, открыть <em>консоль</em> (Console) на этих языках, а также создать файлы в различных форматах (Other). Слева вы видите список папок компьютера.</p> <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="544" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyterlab-launcher-1024x544.jpg" alt="JupyterLab: вкладка Launcher" class="wp-image-13549" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyterlab-launcher-1024x544.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyterlab-launcher-300x159.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyterlab-launcher-768x408.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyterlab-launcher-1536x816.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyterlab-launcher-2048x1088.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyterlab-launcher-1200x638.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyterlab-launcher-600x319.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>В разделе Console нажмем на Python 3 (ipykernel). Введем несложный код (см. ниже) и исполним его, нажимая <strong>Shift + Enter</strong>.</p> <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="588" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyter-lab-python-console-1024x588.jpg" alt="консоль на Python в JupyterLab" class="wp-image-13550" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyter-lab-python-console-1024x588.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyter-lab-python-console-300x172.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyter-lab-python-console-768x441.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyter-lab-python-console-1536x882.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyter-lab-python-console-2048x1176.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyter-lab-python-console-1200x689.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyter-lab-python-console-600x344.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Как вы видите, здесь мы можем писать код на Питоне так же, как мы это делали в командной строке Windows на прошлом занятии. Закроем консоль.</p> <p>В файловой системе слева мы можем открывать уже созданные блокнот. Например, откроем блокнот на R <strong>rprogramming.ipynb</strong>.</p> <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="545" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/rprogramming-notebook-jupyterlab-1024x545.jpg" alt="ноутбук на R в JupyterLab" class="wp-image-13553" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/rprogramming-notebook-jupyterlab-1024x545.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/rprogramming-notebook-jupyterlab-300x160.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/rprogramming-notebook-jupyterlab-768x408.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/rprogramming-notebook-jupyterlab-1536x817.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/rprogramming-notebook-jupyterlab-2048x1089.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/rprogramming-notebook-jupyterlab-1200x638.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/rprogramming-notebook-jupyterlab-600x319.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>В левом меню вертикальном меню, нажав на вторую сверху иконку, мы увидим открытые горизонтальные вкладки (open tabs: Launcher и rprogramming.ipynb), а также запущенные ядра (kernels).</p> <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="544" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-tab-jupyterlab-1024x544.jpg" alt="открытые ноутбуки и запущенные ядра в JupyterLab" class="wp-image-13555" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-tab-jupyterlab-1024x544.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-tab-jupyterlab-300x159.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-tab-jupyterlab-768x408.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-tab-jupyterlab-1536x816.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-tab-jupyterlab-2048x1089.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-tab-jupyterlab-1200x638.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-tab-jupyterlab-600x319.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Консольные ядра (Console 1 и Console 2) можно открыть (по сути, мы снова запустим консоль).</p> <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="527" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-console-jupyterlab-1024x527.jpg" alt="консоль на R в JupyterLab" class="wp-image-13556" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-console-jupyterlab-1024x527.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-console-jupyterlab-300x154.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-console-jupyterlab-768x395.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-console-jupyterlab-1536x790.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-console-jupyterlab-2048x1054.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-console-jupyterlab-1200x618.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/launched-console-jupyterlab-600x309.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Две оставшиеся вертикальные вкладки открывают доступ к автоматическому оглавлению (content) и расширениям (extensions).</p> <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="526" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/content-tab-jupyterlab-1024x526.jpg" alt="автоматическое оглавление в JupyterLab" class="wp-image-13557" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/content-tab-jupyterlab-1024x526.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/content-tab-jupyterlab-300x154.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/content-tab-jupyterlab-768x394.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/content-tab-jupyterlab-1536x789.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/content-tab-jupyterlab-2048x1052.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/content-tab-jupyterlab-1200x616.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/content-tab-jupyterlab-600x308.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="544" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/extensions-jupyterlab-1024x544.jpg" alt="расширения в JupyterLab" class="wp-image-13558" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/extensions-jupyterlab-1024x544.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/extensions-jupyterlab-300x159.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/extensions-jupyterlab-768x408.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/extensions-jupyterlab-1536x816.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/extensions-jupyterlab-2048x1088.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/extensions-jupyterlab-1200x638.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/extensions-jupyterlab-600x319.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Вкладки Run и Kernel в верхнем меню JupyterLab в целом аналогичны вкладкам Cell и Kernel в JupyterNotebook.</p> <h2 class="wp-block-heading" id="6-podvedem-itog">Подведем итог</h2> <p>На сегодняшнем занятии мы познакомились с программой Jupyter Notebook, а также изучили дистрибутив Anaconda, в состав которого входит эта программа.</p> <p>Говоря о <strong>программе Jupyter Notebook</strong>, мы узнали про возможности работы с ячейками и ядром программы. Кроме того, мы познакомились с языком разметки Markdown и написанием формул с помощью языка верстки LaTeX.</p> <p>После этого мы установили ядро для программирования на R и рассмотрели основы этого языка.</p> <p>При изучении <strong>дистрибутива Anaconda</strong> мы позникомились с системой conda и попрактиковались в установке библиотек и создании окружений через Anaconda Prompt и Anaconda Navigator.</p> <p>Наконец мы узнали про особенности программы JupyterLab.</p> <h3 class="wp-block-heading" id="7-voprosy-dlya-zakrepleniya">Вопросы для закрепления</h3> <p class="has-black-color has-text-color has-background" style="background-color:#ffe8c4">Вопрос. Что такое Anaconda?</p> <div class="wp-block-ub-content-toggle" id="ub-content-toggle-e5c41d33-6e66-400e-bfbd-f5bce272757b" data-mobilecollapse="true" data-desktopcollapse="true"> <div class="wp-block-ub-content-toggle-accordion" id="ub-content-toggle-panel-block-e0619867-dc63-4651-9a6c-b4cb7e628b7a"> <div class="wp-block-ub-content-toggle-accordion-title-wrap"" aria-controls="ub-content-toggle-panel-0-e5c41d33-6e66-400e-bfbd-f5bce272757b" tabindex="0"> <p class="wp-block-ub-content-toggle-accordion-title ub-content-toggle-title-e5c41d33-6e66-400e-bfbd-f5bce272757b">Посмотреть правильный ответ</p><div class="wp-block-ub-content-toggle-accordion-toggle-wrap left"><span class="wp-block-ub-content-toggle-accordion-state-indicator wp-block-ub-math-plus"></span> </div></div><div role="region" aria-expanded="false" class="wp-block-ub-content-toggle-accordion-content-wrap ub-hide" id="ub-content-toggle-panel-0-e5c41d33-6e66-400e-bfbd-f5bce272757b"> <p>Ответ: Anaconda — это дистрибутив Питона (с репозиторием пакетов) и отдельной программой управления окружениями и пакетами conda. Пользователь может взаимодействовать с этой программой через терминал (Anaconda Prompt) и графический интерфейс (Anaconda Navigator).</p> <p>Помимо этого, в дистрибутив Anaconda входят, среди прочих, программы Jupyter Notebook и JupyterLab.</p> </div></div> </div> <p class="has-black-color has-text-color has-background" style="background-color:#ffe8c4">Вопрос. Какой тип ячеек доступен в Jupyter Notebook?</p> <div class="wp-block-ub-content-toggle" id="ub-content-toggle-8e467d13-6952-468c-8b46-266407bf3ba3" data-mobilecollapse="true" data-desktopcollapse="true"> <div class="wp-block-ub-content-toggle-accordion" id="ub-content-toggle-panel-block-460f353e-42c1-45a2-adbc-76d742f68629"> <div class="wp-block-ub-content-toggle-accordion-title-wrap"" aria-controls="ub-content-toggle-panel-0-8e467d13-6952-468c-8b46-266407bf3ba3" tabindex="0"> <p class="wp-block-ub-content-toggle-accordion-title ub-content-toggle-title-8e467d13-6952-468c-8b46-266407bf3ba3">Посмотреть правильный ответ</p><div class="wp-block-ub-content-toggle-accordion-toggle-wrap left"><span class="wp-block-ub-content-toggle-accordion-state-indicator wp-block-ub-math-plus"></span> </div></div><div role="region" aria-expanded="false" class="wp-block-ub-content-toggle-accordion-content-wrap ub-hide" id="ub-content-toggle-panel-0-8e467d13-6952-468c-8b46-266407bf3ba3"> <p>Ответ: в Jupyter Notebook есть два основных типа ячеек — ячейки для написания кода (в частности, на Питоне или R) и текстовые ячейки, поддерживающие Markdown и LaTeX.</p> </div></div> </div> <p class="has-black-color has-text-color has-background" style="background-color:#ffe8c4">Вопрос. Для чего нужно виртуальное окружение?</p> <div class="wp-block-ub-content-toggle" id="ub-content-toggle-1adec68b-4cb1-44ab-8dcd-7a07ce859b07" data-mobilecollapse="true" data-desktopcollapse="true"> <div class="wp-block-ub-content-toggle-accordion" id="ub-content-toggle-panel-block-da7daf18-3805-4e48-8b43-6965cbd8b0d9"> <div class="wp-block-ub-content-toggle-accordion-title-wrap"" aria-controls="ub-content-toggle-panel-0-1adec68b-4cb1-44ab-8dcd-7a07ce859b07" tabindex="0"> <p class="wp-block-ub-content-toggle-accordion-title ub-content-toggle-title-1adec68b-4cb1-44ab-8dcd-7a07ce859b07">Посмотреть правильный ответ</p><div class="wp-block-ub-content-toggle-accordion-toggle-wrap left"><span class="wp-block-ub-content-toggle-accordion-state-indicator wp-block-ub-math-plus"></span> </div></div><div role="region" aria-expanded="false" class="wp-block-ub-content-toggle-accordion-content-wrap ub-hide" id="ub-content-toggle-panel-0-1adec68b-4cb1-44ab-8dcd-7a07ce859b07"> <p>Ответ: виртуальное окружение (virtual environment) позволяет установить и изолировать определенные версии Питона и его пакетов. Таким образом код, написанный с учетом конкретной версии Питона и дополнительных библиотек, исполнится без ошибок.</p> </div></div> </div> <div id="ub_divider_bfcfff6c-0790-496c-ab96-947d4a4b17f3" class="wp-block-ub-divider ub-divider-orientation-horizontal"><hr class="ub_divider" ></hr></div> <h3 class="wp-block-heading" id="8-otvety-na-voprosy">Ответы на вопросы</h3> <p><strong>Вопрос</strong>. Можно ли исполнить код на R в Google Colab?</p> <p><strong>Ответ</strong>. Да, это возможно. Причем двумя способами.</p> <p><em>Способ 1</em>. Откройте блокнот. Введите и исполните команду <span id="urvanov-syntax-highlighter-672da52733dcd812030435" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-e">load_ext </span><span class="crayon-v">rpy2</span><span class="crayon-sy">.</span><span class="crayon-v">ipython</span></span></span>. В последующих ячейках введите <span id="urvanov-syntax-highlighter-672da52733dce348675987" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-v">R</span></span></span>, чтобы в этой же строке написать код на R или <span id="urvanov-syntax-highlighter-672da52733dcf935708401" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-o">%</span><span class="crayon-v">R</span></span></span>, если хотите, чтобы вся ячейка исполнилась как код на R (так называемые <a href="https://www.dmitrymakarov.ru/python/npmath-10/#time">магические команды</a>).</p> <p>В этом случае мы можем исполнять код на двух языках внутри одного блокнота.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da52733dd0344689704" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dd0344689704-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da52733dd0344689704-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dd0344689704-1"><span class="crayon-c"># введем магическую команду, которая позволит программировать на R</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da52733dd0344689704-2"><span class="crayon-o">%</span><span class="crayon-e">load_ext </span><span class="crayon-v">rpy2</span><span class="crayon-sy">.</span><span class="crayon-v">ipython</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da52733dd1694535313" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dd1694535313-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da52733dd1694535313-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dd1694535313-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da52733dd1694535313-4">4</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dd1694535313-5">5</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da52733dd1694535313-6">6</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dd1694535313-1"><span class="crayon-c"># команда %%R позволит Colab распознать ячейку как код на R</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da52733dd1694535313-2"><span class="crayon-ta">%</span><span class="crayon-o">%</span><span class="crayon-i">R</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dd1694535313-3"> </div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da52733dd1694535313-4"><span class="crayon-c"># кстати, числовой вектор можно создать просто с помощью двоеточия</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dd1694535313-5"><span class="crayon-v">x</span><span class="crayon-h"> </span><span class="crayon-o"><</span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-o">:</span><span class="crayon-cn">10</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da52733dd1694535313-6"><span class="crayon-v">x</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0012 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da52733dd2110487952" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dd2110487952-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dd2110487952-1">[1] 1 2 3 4 5 6 7 8 9 10</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da52733dd3141746298" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dd3141746298-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da52733dd3141746298-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dd3141746298-3">3</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dd3141746298-1"><span class="crayon-c"># при этом ничто не мешает нам продолжать писать код на Питоне</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da52733dd3141746298-2"><span class="crayon-r">import</span><span class="crayon-h"> </span><span class="crayon-e">numpy </span><span class="crayon-st">as</span><span class="crayon-h"> </span><span class="crayon-e">np</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dd3141746298-3"><span class="crayon-v">np</span><span class="crayon-sy">.</span><span class="crayon-e">mean</span><span class="crayon-sy">(</span><span class="crayon-sy">[</span><span class="crayon-cn">1</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">2</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">3</span><span class="crayon-sy">]</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da52733dd4389518214" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dd4389518214-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dd4389518214-1">2.0</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <p>Приведенный выше код можно найти в <a href="https://colab.research.google.com/drive/1X2S_1uiKbmvXfwjtlmnRTL074WkftFO0#scrollTo=bNhekVg3hjUv" target="_blank" rel="noreferrer noopener">дополнительных материалах</a>⧉ к занятию.</p> <p><em>Способ 2</em>. Если вы хотите, чтобы весь код исполнялся на R (как мы это делали в Jupyter Notebook), создайте новый блокнот, используя следующую ссылку:</p> <p><a href="https://colab.research.google.com/#create=true&language=r" target="_blank" rel="noreferrer noopener">https://colab.research.google.com/#create=true&language=r</a>⧉</p> <p>Теперь, если вы зайдете на вкладку <strong>Runtime → Change runtime type</strong> (Среда выполнения <strong>→</strong> Сменить среду выполнения), то увидите, что можете выбирать между Python и R.</p> <figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="903" src="https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/change_to_R-1024x903.jpg" alt="смена среды выполнения с Питона на R" class="wp-image-26726" style="width:482px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/change_to_R-1024x903.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/change_to_R-300x265.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/change_to_R-768x678.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/change_to_R-1536x1355.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/change_to_R-1200x1059.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/change_to_R-600x529.jpg 600w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/change_to_R.jpg 1868w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Выведем версию R в Google Colab.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da52733dd5922718198" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dd5922718198-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dd5922718198-1"><span class="crayon-v">R</span><span class="crayon-sy">.</span><span class="crayon-v">version</span><span class="crayon-sy">.</span><span class="crayon-t">string</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da52733dd6627896656" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dd6627896656-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dd6627896656-1">'R version 4.4.0 (2024-04-24)'</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Посмотреть на установленные пакеты можно с помощью <span id="urvanov-syntax-highlighter-672da52733dd7205948169" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-v">installed</span><span class="crayon-sy">.</span><span class="crayon-e">packages</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span></span></span>. Созданный блокнот Google Colab на R доступен <a href="https://colab.research.google.com/drive/1Tod1_y9yAfsPyDT7JRa3YiXn6iSUL6cp?usp=sharing" target="_blank" rel="noreferrer noopener">по ссылке</a>⧉.</p> <div id="ub_divider_2244103e-6667-4c8d-aff4-aac4fc08f680" class="wp-block-ub-divider ub-divider-orientation-horizontal"><hr class="ub_divider" ></hr></div> <p><strong>Вопрос</strong>. Очень медленно загружается Anaconda. Можно ли что-то сделать?</p> <p><strong>Ответ</strong>. Можно работать через Anaconda Prompt, эта программа быстрее графического интерфейса Anaconda Navigator.</p> <p>Кроме того, можно использовать <a href="https://docs.conda.io/en/latest/miniconda.html" target="_blank" rel="noreferrer noopener">дистрибутив Miniconda</a>⧉, в который входит conda, Питон и несколько ключевых пакетов. Остальные пакеты устанавливаются вручную по мере необходимости.</p> <div id="ub_divider_78cd703f-c0ff-47c2-8746-7f7466a95f84" class="wp-block-ub-divider ub-divider-orientation-horizontal"><hr class="ub_divider" ></hr></div> <p><strong>Вопрос</strong>. Разве Jupyter не должен писаться через i, как Jupiter?</p> <p><strong>Ответ</strong>. Вы правы в том плане, что название Jupyter Notebook происходит не от планеты Юпитер, которая по-английски как раз пишется через i (Jupiter), а представляет собой акроним от названий языков программирования Julia, Python и R.</p> <p>При этом, как утверждают разработчики, слово Jupyter также отсылает к тетрадям (notebooks) Галилея, в которых он, в частности, документировал наблюдение за лунами Юпитера.</p> <div id="ub_divider_2fb6af56-a410-4f1a-9301-cafaf7532339" class="wp-block-ub-divider ub-divider-orientation-horizontal"><hr class="ub_divider" ></hr></div> <p><strong>Вопрос</strong>. В каких еще программах можно писать код на Питоне и R?</p> <p><strong>Ответ</strong>. Таких программ несколько. Довольно удобно пользоваться облачным решением Kaggle. Там можно создавать как скрипты (scripts, в том числе RMarkdown Scripts), так и блокноты на Питоне и R. Подробнее можно почитать в <a href="https://www.kaggle.com/docs/notebooks" target="_blank" rel="noreferrer noopener">документации</a>⧉ на их сайте.</p> <div id="ub_divider_7a06f397-3263-4c5e-9e61-0c9b0dafcdbd" class="wp-block-ub-divider ub-divider-orientation-horizontal"><hr class="ub_divider" ></hr></div> <p><strong>Вопрос</strong>. Можно ли создать виртуальное окружение каким-либо другим способом помимо программы conda?</p> <p><strong>Ответ</strong>. Да, можно. Вот коротко, какие шаги нужно выполнить.</p> <p>Вначале убедитесь, что у вас уже <a href="https://www.dmitrymakarov.ru/python/script-13/#0-ustanovka-pitona-na-windows">установлен Питон</a>. В нем по умолчанию содержится <strong>модуль venv</strong>, который как раз предназначен для создания виртуального окружения.</p> <p><em>Шаг 1</em>. Создайте папку с вашим проектом, например, пусть это будет папка <em>webapp</em> для веб-приложения на популярном фреймворке для Питона Django.</p> <figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="701" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/venv-folders-1024x701.jpg" alt="папка с проектом веб-приложения" class="wp-image-14132" style="width:697px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/venv-folders-1024x701.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/venv-folders-300x205.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/venv-folders-768x526.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/venv-folders-600x411.jpg 600w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/venv-folders.jpg 1097w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p><em>Шаг 2</em>. В командной строке <a href="https://www.dmitrymakarov.ru/python/script-13/#3-shag-3-zapustit-piton-iz-komandnoy-stroki">перейдите в папку</a> <em>webapp</em>.</p> <figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="904" height="365" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/webapp_folder.jpg" alt="переход в папку с проектом веб-приложения в командной строке" class="wp-image-14147" style="width:661px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/webapp_folder.jpg 904w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/webapp_folder-300x121.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/webapp_folder-768x310.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/webapp_folder-600x242.jpg 600w" sizes="(max-width: 904px) 100vw, 904px" /></figure> <p>Затем введите команду для создания виртуального окружения.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da52733dd9077240507" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733dd9077240507-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733dd9077240507-1">python -m venv djenv</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>По сути мы говорим Питону создать окружение djenv (название может быть любым) с помощью модуля venv. Переключатель (flag или switch) <span id="urvanov-syntax-highlighter-672da52733dda286832565" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">-m</span></span> подсказывает Питону, что venv — это модуль, а не файл.</p> <p>После выполнения этой команды создается папка djenv виртуального окружения.</p> <figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="634" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/djenv-1024x634.jpg" alt="папка виртуального окружения" class="wp-image-14148" style="width:707px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/djenv-1024x634.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/djenv-300x186.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/djenv-768x476.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/djenv-600x372.jpg 600w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/djenv.jpg 1053w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p><em>Шаг 3</em>. Активируем это виртуальное окружение следующей командой.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da52733ddb314325413" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733ddb314325413-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733ddb314325413-1">.\djenv\Scripts\activate</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="907" height="352" src="https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/activate_venv.jpg" alt="активация виртуального окружения в командной строке" class="wp-image-14149" style="width:644px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/activate_venv.jpg 907w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/activate_venv-300x116.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/activate_venv-768x298.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2022/06/activate_venv-600x233.jpg 600w" sizes="(max-width: 907px) 100vw, 907px" /></figure> <p>Здесь мы обращаемся к файлу activate внутри папки <em>Scripts</em>. Как вы видите, название окружения появилось слева от пути к папке.</p> <p class="has-background" style="background-color:#ffe8c4">Теперь через pip можно устанавливать пакеты, которые будут «видны» только внутри виртуального окружения djenv.</p> <p><em>Шаг 4</em>. Выйти из этого виртуального окружения можно с помощью команды deactivate. Если вам нужно удалить окружение, сначала деактивируйте его, а затем вручную удалите соответствующую папку.</p> <div id="ub_divider_4b124c7c-6c3d-4417-b574-fb2cf7154ba9" class="wp-block-ub-divider ub-divider-orientation-horizontal"><hr class="ub_divider" ></hr></div> <p><strong>Вопрос</strong>. Что такое IPython и CPython, и чем они отличаются?</p> <p><strong>Ответ</strong>. <strong>CPython</strong> — это «традиционный» или эталонный <a href="https://www.dmitrymakarov.ru/python/script-13/#28-interpretator">интерпретатор</a> Питона. Именно этот интерпретатор <a href="https://www.dmitrymakarov.ru/python/script-13/#2-shag-2-skachat-piton-s-ofitsialnogo-sayta">мы скачали</a> с официального сайта.</p> <p><strong>IPython</strong> (Interactive Python) — это интерактивная оболочка, которая расширяет возможности, например, командной строки, которой <a href="https://www.dmitrymakarov.ru/python/script-13/#2-shag-2-skachat-piton-s-ofitsialnogo-sayta">мы пользовались ранее</a>. Проект IPython со временем превратился в Jupyter Notebook.</p> <p>Установить ipython можно из командной строки с помощью команды</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da52733ddc069312000" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da52733ddc069312000-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da52733ddc069312000-1">pip install ipython[all]</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>После этого введите команду <span id="urvanov-syntax-highlighter-672da52733ddd163538548" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">ipython</span></span> и командная строка превратится в оболочку IPython, которая во многом похожа на Jupyter Notebook.</p> <figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="415" src="https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-11-1024x415.png" alt="интерфейс ipython" class="wp-image-27116" style="width:666px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-11-1024x415.png 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-11-300x122.png 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-11-768x311.png 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-11-600x243.png 600w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-11.png 1175w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>В частности, мы видим, что появляется очередность выполнения ячеек <span id="urvanov-syntax-highlighter-672da52733dde090750570" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">In[1]</span></span>. Код лучше организован, подсвечен разными цветами, выставляется автоматический отступ и появляются подсказки при написании кода.</p> <figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="617" src="https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-12-1024x617.png" alt="особенности ipython" class="wp-image-27117" style="width:666px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-12-1024x617.png 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-12-300x181.png 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-12-768x462.png 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-12-600x361.png 600w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-12.png 1043w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Также появляются уже знакомые нам магические команды. Например, можно посмотреть на адрес текущей папки или на созданные переменные.</p> <figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="394" src="https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-13-1024x394.png" alt="магические команды в ipython" class="wp-image-27118" style="width:663px;height:auto" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-13-1024x394.png 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-13-300x115.png 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-13-768x295.png 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-13-600x231.png 600w, https://www.dmitrymakarov.ru/wp-content/uploads/2024/05/image-13.png 1043w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Для очистки экрана от кода используется команда <span id="urvanov-syntax-highlighter-672da52733de0640158897" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">cls</span></span>, для выхода — <span id="urvanov-syntax-highlighter-672da52733de1240668596" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">exit</span></span>.</p> </div> <!-- .content --> </div> <!-- .post --> <footer class="site-footer section-inner"> <!--<p class="copyright">© 2024 <a href="https://www.dmitrymakarov.ru" class="site-name">Машинное обучение</a></p>--> </footer> <!-- footer --> </main> <script type="text/javascript" src="//cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js?ver=6.6.2" id="mathjax-js"></script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-content/plugins/ultimate-blocks/src/blocks/content-toggle/front.build.js?ver=3.2.2" id="ultimate_blocks-content-toggle-front-script-js"></script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-content/plugins/ultimate-blocks/src/blocks/table-of-contents/front.build.js?ver=3.2.2" id="ultimate_blocks-table-of-contents-front-script-js"></script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-includes/js/imagesloaded.min.js?ver=5.0.0" id="imagesloaded-js"></script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-includes/js/masonry.min.js?ver=4.2.2" id="masonry-js"></script> <script type="text/javascript" id="mcluhan_global-js-extra"> /* <![CDATA[ */ var mcluhan_ajaxpagination = {"ajaxurl":"https:\/\/www.dmitrymakarov.ru\/wp-admin\/admin-ajax.php","query_vars":"{\"page\":\"\",\"pagename\":\"python\\\/jupyter-notebook-14-03\"}"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-content/themes/mcluhan/assets/js/global.js?ver=2.1.1" id="mcluhan_global-js"></script> </body> </html>