{ "cells": [ { "cell_type": "markdown", "id": "4b9b298d", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Inżynieria uczenia maszynowego\n", "### 15 maja 2024\n", "# 9. Środowiska wirtualne" ] }, { "cell_type": "markdown", "id": "cf14c577", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Python Virtual Env\n", " - Python posiada wbudowany mechanizm do zarządzania wirtualnymi środowiskami\n", " - Nie mylić z bardziej rozbudowanym [virtualenv](https://pypi.org/project/virtualenv/) (dla Python 2)\n", " - Umożliwia używanie różnych wersji bibliotek do różnych zastosowań\n", " - Dotyczy on tylko bibliotek pythona\n", " - Więcej informacji: https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/" ] }, { "cell_type": "markdown", "id": "85284459", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Poniżej stworzymy środowisko w katalogu `./myenv`:" ] }, { "cell_type": "markdown", "id": "9cabe194", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "```\n", "$ python3 -m venv myenv\n", "```" ] }, { "cell_type": "markdown", "id": "2a8b1048", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Teraz możemy je aktywować:" ] }, { "cell_type": "markdown", "id": "4619a71d", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "```\n", "$ source ./myenv/bin/activate\n", "(myenv) $ which python\n", "/home/tomek/myenv/bin/python\n", "```" ] }, { "cell_type": "markdown", "id": "2e5bf86a", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "I modyfikować instalując zależności:" ] }, { "cell_type": "markdown", "id": "256149c4", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "```\n", "(myenv) $ python3 -m pip install requests\n", "```" ] }, { "cell_type": "markdown", "id": "7fbba7d3", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Środowisko możemy deaktywować poprzez:" ] }, { "cell_type": "markdown", "id": "a2d688b7", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "```\n", "deactivate\n", "```" ] }, { "cell_type": "markdown", "id": "0d3eb6d4", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Środowisko można udostępnić kopiując cały katalog ze środowiskiem" ] }, { "cell_type": "markdown", "id": "90605b49", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## pipx\n", " - pipx: polecenie, które instaluje moduł Pythonowy w odrębnym środowisku wirtualnym venv\n", " - jednocześnie dodaje powiązane z nim polecenie (\"Command line entry point\") do zmiennej `PATH`\n", " - w ten sposób możemy zainstalować polecenie, które będzie globalnie dostępne a jednocześnie nie będzie \"mieszało\" w zależnościach modułów Pythonowych. Umożliwia to uniknięcie konfliktów między zależnościami i jednocześnie umożliwia dostęp do polecenia oferowanego przez moduł z poziomu systemu (bez ręcznej aktywacji środowiska)\n", " - więcej informacji: https://packaging.python.org/guides/installing-stand-alone-command-line-tools/\n", " - https://github.com/pypa/pipx" ] }, { "cell_type": "markdown", "id": "a8aca05d", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Conda\n", "> *Package, dependency and environment management for any language—Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN, and more.*\n", "\n", "\n", "\n", "Conda umożliwia zarządzanie:\n", " - środowiskami (jak venv)\n", " - paczkami i zależnościami (jak pip)\n", "\n", "Dokumentacja: https://docs.conda.io/en/latest/" ] }, { "cell_type": "markdown", "id": "26f253cb", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Różnice między Conda a venv ([źródło](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/environments.html#virtual-environments)):\n", " - Dowolna wersja Python w Conda (inna niż systemowa)\n", " - Conda zarządza też zależnościami innymi niż Pythonowe\n", " - Paczki w PyPI (używane przez `pip`) pochodzą od ich autorów. Paczki w conda są  budowane przez conda albo społeczność conda-forge" ] }, { "cell_type": "markdown", "id": "57f19a08", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Dystrybucje: Anaconda i MiniConda\n", "Conda jest dostępna w dwóch dystrybcjach:\n", " - [Miniconda](https://docs.conda.io/en/latest/miniconda.html):\n", " - wymaga 400 MB miejsca na dysku\n", " - zawiera jedynie podstawowe narzędzia:\n", " - conda\n", " - Python\n", " - pip, zlib\n", " - pozostałe narzędzia/biblioteki doinstalujemy w miarę potrzeb\n", " - [Anaconda](https://www.anaconda.com/products/individual)\n", " - wymaga conajmniej 3 GB miejsca na dysku\n", " - Zawiera narzędzi GUI [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/) (można je doinstalować do Miniconda)\n", " - zawiera to co Miniconda +:\n", " - Ponad 1500 preinstalowanych pakietów, głównie \"naukowych\", m.in.: SciPy, NumPy, Jupyter, scikit-learn, Pandas\n", " - bezpłatna dla użytkowników indywidualnych, małych firm i orgranizacji non-profit (\"Anaconda distribution\")\n", " - płatna dla dużych firm (+200 osób i instytucji rządowych (\"Anaconda Proferssional\")\n", " " ] }, { "cell_type": "markdown", "id": "d6d5156a", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Dystrybucje\n", " - Wersje paczek/bibliotek zawartych w danej dystrybucji są przetestowane pod względem zgodności ze sobą\n", " - Możemy dokonać zaktualizacji wszystkich pakietów za pomocą polecenia: `conda update conda`\n", " - Conda zatroszczy się o to, by rozwiązać potencjalne konflikty wynikające z zależności deklarowanych przez poszczególne biblioteki. \n", " - Nie zawsze wszystkie biblioteki będą w swoich najnowszych wersjach - mogłoby to powodować problemy z działaniem bibliotek od nich zależnych\n", " - Podczas aktualizacji niektóre biblioteki mogą zostać \"zdowngradowane\"" ] }, { "cell_type": "markdown", "id": "61d89bd2", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "```\n", "$ conda update conda\n", "Collecting package metadata (current_repodata.json): done\n", "Solving environment: done\n", "\n", "## Package Plan ##\n", "\n", " environment location: /home/tomek/miniconda3\n", "\n", " added / updated specs:\n", " - conda\n", "\n", "\n", "The following packages will be downloaded:\n", "\n", " package | build\n", " ---------------------------|-----------------\n", " attrs-21.2.0 | pyhd3eb1b0_0 46 KB\n", " cffi-1.14.5 | py39h261ae71_0 226 KB\n", " chardet-4.0.0 |py39h06a4308_1003 194 KB\n", " conda-package-handling-1.7.3| py39h27cfd23_1 884 KB\n", " cryptography-3.4.7 | py39hd23ed53_0 906 KB\n", " decorator-5.0.9 | pyhd3eb1b0_0 12 KB\n", " glib-2.68.2 | h36276a3_0 3.0 MB\n", " idna-2.10 | pyhd3eb1b0_0 52 KB\n", " jinja2-3.0.0 | pyhd3eb1b0_0 106 KB\n", " markupsafe-2.0.1 | py39h27cfd23_0 22 KB\n", " notebook-6.4.0 | py39h06a4308_0 4.1 MB\n", " pygments-2.9.0 | pyhd3eb1b0_0 721 KB\n", " pyopenssl-20.0.1 | pyhd3eb1b0_1 49 KB\n", " requests-2.25.1 | pyhd3eb1b0_0 52 KB\n", " ruamel_yaml-0.15.100 | py39h27cfd23_0 260 KB\n", " tqdm-4.59.0 | pyhd3eb1b0_1 93 KB\n", " urllib3-1.26.4 | pyhd3eb1b0_0 105 KB\n", " ------------------------------------------------------------\n", " Total: 10.7 MB\n", "\n", "The following packages will be REMOVED:\n", "\n", " libedit-3.1.20191231-h14c3975_1\n", " pip-20.3.1-py39h06a4308_0\n", " wheel-0.36.1-pyhd3eb1b0_0\n", "\n", "The following packages will be UPDATED:\n", "\n", " attrs 20.3.0-pyhd3eb1b0_0 --> 21.2.0-pyhd3eb1b0_0\n", " ca-certificates conda-forge::ca-certificates-2020.12.~ --> pkgs/main::ca-certificates-2021.4.13-h06a4308_1\n", " cffi 1.14.4-py39h261ae71_0 --> 1.14.5-py39h261ae71_0\n", " chardet 3.0.4-py39h06a4308_1003 --> 4.0.0-py39h06a4308_1003\n", " conda conda-forge::conda-4.10.1-py39hf3d152~ --> pkgs/main::conda-4.10.1-py39h06a4308_1\n", " conda-package-han~ 1.7.2-py39h27cfd23_1 --> 1.7.3-py39h27cfd23_1\n", " cryptography 3.3.1-py39h3c74f83_0 --> 3.4.7-py39hd23ed53_0\n", " decorator 5.0.6-pyhd3eb1b0_0 --> 5.0.9-pyhd3eb1b0_0\n", " glib 2.68.1-h36276a3_0 --> 2.68.2-h36276a3_0\n", " jinja2 2.11.3-pyhd3eb1b0_0 --> 3.0.0-pyhd3eb1b0_0\n", " markupsafe 1.1.1-py39h27cfd23_0 --> 2.0.1-py39h27cfd23_0\n", " notebook 6.3.0-py39h06a4308_0 --> 6.4.0-py39h06a4308_0\n", " pygments 2.8.1-pyhd3eb1b0_0 --> 2.9.0-pyhd3eb1b0_0\n", " pyopenssl 20.0.0-pyhd3eb1b0_1 --> 20.0.1-pyhd3eb1b0_1\n", " readline 8.0-h7b6447c_0 --> 8.1-h27cfd23_0\n", " requests 2.25.0-pyhd3eb1b0_0 --> 2.25.1-pyhd3eb1b0_0\n", " ruamel_yaml 0.15.80-py39h27cfd23_0 --> 0.15.100-py39h27cfd23_0\n", " setuptools 51.0.0-py39h06a4308_2 --> 52.0.0-py39h06a4308_0\n", " sqlite 3.33.0-h62c20be_0 --> 3.35.4-hdfb4753_0\n", " tqdm 4.54.1-pyhd3eb1b0_0 --> 4.59.0-pyhd3eb1b0_1\n", " tzdata 2020d-h14c3975_0 --> 2020f-h52ac0ba_0\n", " urllib3 1.25.11-py_0 --> 1.26.4-pyhd3eb1b0_0\n", "\n", "The following packages will be SUPERSEDED by a higher-priority channel:\n", "\n", " certifi conda-forge::certifi-2020.12.5-py39hf~ --> pkgs/main::certifi-2020.12.5-py39h06a4308_0\n", "\n", "The following packages will be DOWNGRADED:\n", "\n", " idna 2.10-py_0 --> 2.10-pyhd3eb1b0_0\n", "\n", "\n", "Proceed ([y]/n)? y\n", "\n", "[...]\n", "\n", "\n", "```" ] }, { "cell_type": "markdown", "id": "1c7b2930", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Instalacja\n", "Instrukcje: \n", "- [Linux](https://docs.conda.io/projects/conda/en/latest/user-guide/install/linux.html)\n", "- [Windows](https://docs.conda.io/projects/conda/en/latest/user-guide/install/windows.html)\n", "- [macOS](https://docs.conda.io/projects/conda/en/latest/user-guide/install/macos.html)" ] }, { "cell_type": "markdown", "id": "0ceff229", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Pakiety Conda\n", "Pakiet (Package) conda to archiwum o rozszerzeniu `.tar.bz2` lub `.conda`zawierające:\n", " - folder `lib`: biblioteki systemowe, moduły Python\n", " - folder `bin`: pliki wykonywalne i wszelkie inne pliki potrzebne to zainstalowania danej zależności\n", " - metadane w katalogu `info/`\n", " \n", " \n", " \n", "Pakiety można:\n", " - wyszukiwać: `conda search pytorch`\n", " - instalować: `conda install pytorch`\n", " - tworzyć: `conda build hello_world`\n", " - usuwać: `conda remove pytorch`\n", " " ] }, { "cell_type": "markdown", "id": "f54f3bdb", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Repozytoria i kanały\n", "- Pakiety mogą być ściągane z różnych kanałów (\"channels\")\n", "- Kanały mogą być zdalne albo lokalne\n", "- Domyślny kanał to https://repo.anaconda.com/pkgs/ - zawiera ponad 7,5 tys pakietów, jest utrzymywany przez Anacondę.\n", "- Jeśli jakiejś paczki nie ma na oficjalnym kanale, bardzo możliwe, że znajdziemy ją na [Conda-forge](https://conda-forge.org/) - kanale utrzymywanym przez społeczność\n", "- Wyszukiwanie i przeglądanie pakietów: [conda i conda-forge](https://anaconda.org/anaconda/repo)" ] }, { "cell_type": "markdown", "id": "5ab846d0", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Na przykład, pakiet `mlflow` nie jest dostępny na oficjalnym kanale:" ] }, { "cell_type": "code", "execution_count": 6, "id": "f301bdf7", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading channels: done\n", "No match found for: mlflow. Search: *mlflow*\n", "\n", "PackagesNotFoundError: The following packages are not available from current channels:\n", "\n", " - mlflow\n", "\n", "Current channels:\n", "\n", " - https://repo.anaconda.com/pkgs/main/linux-64\n", " - https://repo.anaconda.com/pkgs/main/noarch\n", " - https://repo.anaconda.com/pkgs/r/linux-64\n", " - https://repo.anaconda.com/pkgs/r/noarch\n", "\n", "To search for alternate channels that may provide the conda package you're\n", "looking for, navigate to\n", "\n", " https://anaconda.org\n", "\n", "and use the search bar at the top of the page.\n", "\n", "\n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda search mlflow" ] }, { "cell_type": "markdown", "id": "ea36f2cd", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Do poleceń `search` i `install` możemy dodać flagę `channel` co doda podany kanał do listy przeszukiwanych przez to polecenie kanałów:" ] }, { "cell_type": "code", "execution_count": 7, "id": "61911bf5", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading channels: done\n", "# Name Version Build Channel \n", "mlflow 0.9.0.1 py_0 conda-forge \n", "mlflow 0.9.1 py_0 conda-forge \n", "mlflow 1.0.0 py27_0 conda-forge \n", "mlflow 1.0.0 py27_1 conda-forge \n", "mlflow 1.0.0 py_2 conda-forge \n", "mlflow 1.0.0 py_3 conda-forge \n", "mlflow 1.1.0 py_0 conda-forge \n", "mlflow 1.2.0 py_0 conda-forge \n", "mlflow 1.2.0 py_1 conda-forge \n", "mlflow 1.3.0 py36_0 conda-forge \n", "mlflow 1.3.0 py37_0 conda-forge \n", "mlflow 1.4.0 py36_0 conda-forge \n", "mlflow 1.4.0 py37_0 conda-forge \n", "mlflow 1.4.0 py38_0 conda-forge \n", "mlflow 1.5.0 py36_0 conda-forge \n", "mlflow 1.5.0 py36_1 conda-forge \n", "mlflow 1.5.0 py37_0 conda-forge \n", "mlflow 1.5.0 py37_1 conda-forge \n", "mlflow 1.5.0 py38_0 conda-forge \n", "mlflow 1.5.0 py38_1 conda-forge \n", "mlflow 1.6.0 py36_0 conda-forge \n", "mlflow 1.6.0 py37_0 conda-forge \n", "mlflow 1.6.0 py38_0 conda-forge \n", "mlflow 1.7.0 py36_0 conda-forge \n", "mlflow 1.7.0 py37_0 conda-forge \n", "mlflow 1.7.0 py38_0 conda-forge \n", "mlflow 1.7.1 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.7.1 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.7.1 py38h32f6830_0 conda-forge \n", "mlflow 1.7.2 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.7.2 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.7.2 py38h32f6830_0 conda-forge \n", "mlflow 1.8.0 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.8.0 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.8.0 py38h32f6830_0 conda-forge \n", "mlflow 1.9.1 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.9.1 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.9.1 py38h32f6830_0 conda-forge \n", "mlflow 1.10.0 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.10.0 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.10.0 py38h32f6830_0 conda-forge \n", "mlflow 1.11.0 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.11.0 py36h9f0ad1d_1 conda-forge \n", "mlflow 1.11.0 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.11.0 py37hc8dfbb8_1 conda-forge \n", "mlflow 1.11.0 py38h32f6830_0 conda-forge \n", "mlflow 1.11.0 py38h32f6830_1 conda-forge \n", "mlflow 1.12.0 py36h5fab9bb_0 conda-forge \n", "mlflow 1.12.0 py37h89c1867_0 conda-forge \n", "mlflow 1.12.0 py38h578d9bd_0 conda-forge \n", "mlflow 1.12.1 py36h5fab9bb_0 conda-forge \n", "mlflow 1.12.1 py37h89c1867_0 conda-forge \n", "mlflow 1.12.1 py38h578d9bd_0 conda-forge \n", "mlflow 1.13 py36h5fab9bb_0 conda-forge \n", "mlflow 1.13 py37h89c1867_0 conda-forge \n", "mlflow 1.13 py38h578d9bd_0 conda-forge \n", "mlflow 1.13.1 py36h5fab9bb_0 conda-forge \n", "mlflow 1.13.1 py36h5fab9bb_2 conda-forge \n", "mlflow 1.13.1 py36hd000896_2 conda-forge \n", "mlflow 1.13.1 py37h89c1867_0 conda-forge \n", "mlflow 1.13.1 py37h89c1867_2 conda-forge \n", "mlflow 1.13.1 py38h578d9bd_0 conda-forge \n", "mlflow 1.13.1 py38h578d9bd_2 conda-forge \n", "mlflow 1.13.1 py39hf3d152e_2 conda-forge \n", "mlflow 1.14.0 py36h24e63a9_1 conda-forge \n", "mlflow 1.14.0 py36h5fab9bb_0 conda-forge \n", "mlflow 1.14.0 py36h87b8279_1 conda-forge \n", "mlflow 1.14.0 py36hd000896_0 conda-forge \n", "mlflow 1.14.0 py37h02d9ccd_1 conda-forge \n", "mlflow 1.14.0 py37h89c1867_0 conda-forge \n", "mlflow 1.14.0 py38h578d9bd_0 conda-forge \n", "mlflow 1.14.0 py38he918c71_1 conda-forge \n", "mlflow 1.14.0 py39ha39b057_1 conda-forge \n", "mlflow 1.14.0 py39hf3d152e_0 conda-forge \n", "mlflow 1.14.1 py36h24e63a9_0 conda-forge \n", "mlflow 1.14.1 py36h87b8279_0 conda-forge \n", "mlflow 1.14.1 py37h02d9ccd_0 conda-forge \n", "mlflow 1.14.1 py38he918c71_0 conda-forge \n", "mlflow 1.14.1 py39ha39b057_0 conda-forge \n", "mlflow 1.15.0 py36h24e63a9_0 conda-forge \n", "mlflow 1.15.0 py36h87b8279_0 conda-forge \n", "mlflow 1.15.0 py37h02d9ccd_0 conda-forge \n", "mlflow 1.15.0 py38he918c71_0 conda-forge \n", "mlflow 1.15.0 py39ha39b057_0 conda-forge \n", "mlflow 1.16.0 py36h24e63a9_0 conda-forge \n", "mlflow 1.16.0 py36h87b8279_0 conda-forge \n", "mlflow 1.16.0 py37h02d9ccd_0 conda-forge \n", "mlflow 1.16.0 py38he918c71_0 conda-forge \n", "mlflow 1.16.0 py39ha39b057_0 conda-forge \n", "mlflow 1.17.0 py36h24e63a9_0 conda-forge \n", "mlflow 1.17.0 py36h24e63a9_1 conda-forge \n", "mlflow 1.17.0 py36h87b8279_0 conda-forge \n", "mlflow 1.17.0 py36h87b8279_1 conda-forge \n", "mlflow 1.17.0 py37h02d9ccd_0 conda-forge \n", "mlflow 1.17.0 py37h02d9ccd_1 conda-forge \n", "mlflow 1.17.0 py38he918c71_0 conda-forge \n", "mlflow 1.17.0 py38he918c71_1 conda-forge \n", "mlflow 1.17.0 py39ha39b057_0 conda-forge \n", "mlflow 1.17.0 py39ha39b057_1 conda-forge \n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda search mlflow --channel conda-forge" ] }, { "cell_type": "markdown", "id": "c7cea2c5", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Możemy dodać kanał `conda-forge` tak, żeby był używany automatycznie (bez podawania flagi `channel`):" ] }, { "cell_type": "code", "execution_count": 11, "id": "df31755c", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Warning: 'conda-forge' already in 'channels' list, moving to the top\n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda config --add channels conda-forge" ] }, { "cell_type": "markdown", "id": "33b4d692", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Polecanie `conda info` pokaże nam m.in. używane domyślnie kanały.\n", "Możem dodawać i usuwać kanały oraz zmieniać ich kolejność (priorytet) edytując plik [`~/.condarc`](https://conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html)" ] }, { "cell_type": "code", "execution_count": 10, "id": "b5621afa", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " active environment : base\n", " active env location : /home/tomek/miniconda3\n", " shell level : 1\n", " user config file : /home/tomek/.condarc\n", " populated config files : /home/tomek/.condarc\n", " conda version : 4.10.1\n", " conda-build version : not installed\n", " python version : 3.9.1.final.0\n", " virtual packages : __cuda=11.2=0\n", " __linux=5.4.0=0\n", " __glibc=2.31=0\n", " __unix=0=0\n", " __archspec=1=x86_64\n", " base environment : /home/tomek/miniconda3 (writable)\n", " conda av data dir : /home/tomek/miniconda3/etc/conda\n", " conda av metadata url : https://repo.anaconda.com/pkgs/main\n", " channel URLs : https://conda.anaconda.org/conda-forge/linux-64\n", " https://conda.anaconda.org/conda-forge/noarch\n", " https://repo.anaconda.com/pkgs/main/linux-64\n", " https://repo.anaconda.com/pkgs/main/noarch\n", " https://repo.anaconda.com/pkgs/r/linux-64\n", " https://repo.anaconda.com/pkgs/r/noarch\n", " package cache : /home/tomek/miniconda3/pkgs\n", " /home/tomek/.conda/pkgs\n", " envs directories : /home/tomek/miniconda3/envs\n", " /home/tomek/.conda/envs\n", " platform : linux-64\n", " user-agent : conda/4.10.1 requests/2.25.1 CPython/3.9.1 Linux/5.4.0-73-generic ubuntu/20.04.2 glibc/2.31\n", " UID:GID : 1000:1000\n", " netrc file : None\n", " offline mode : False\n", "\n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda info" ] }, { "cell_type": "markdown", "id": "cb1df295", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Jak widać, po dodaniu kanału `conda-forge`, pakiet `mlflow` zostaje znaleziony:" ] }, { "cell_type": "code", "execution_count": 9, "id": "92b5da5b", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading channels: done\n", "# Name Version Build Channel \n", "mlflow 0.9.0.1 py_0 conda-forge \n", "mlflow 0.9.1 py_0 conda-forge \n", "mlflow 1.0.0 py27_0 conda-forge \n", "mlflow 1.0.0 py27_1 conda-forge \n", "mlflow 1.0.0 py_2 conda-forge \n", "mlflow 1.0.0 py_3 conda-forge \n", "mlflow 1.1.0 py_0 conda-forge \n", "mlflow 1.2.0 py_0 conda-forge \n", "mlflow 1.2.0 py_1 conda-forge \n", "mlflow 1.3.0 py36_0 conda-forge \n", "mlflow 1.3.0 py37_0 conda-forge \n", "mlflow 1.4.0 py36_0 conda-forge \n", "mlflow 1.4.0 py37_0 conda-forge \n", "mlflow 1.4.0 py38_0 conda-forge \n", "mlflow 1.5.0 py36_0 conda-forge \n", "mlflow 1.5.0 py36_1 conda-forge \n", "mlflow 1.5.0 py37_0 conda-forge \n", "mlflow 1.5.0 py37_1 conda-forge \n", "mlflow 1.5.0 py38_0 conda-forge \n", "mlflow 1.5.0 py38_1 conda-forge \n", "mlflow 1.6.0 py36_0 conda-forge \n", "mlflow 1.6.0 py37_0 conda-forge \n", "mlflow 1.6.0 py38_0 conda-forge \n", "mlflow 1.7.0 py36_0 conda-forge \n", "mlflow 1.7.0 py37_0 conda-forge \n", "mlflow 1.7.0 py38_0 conda-forge \n", "mlflow 1.7.1 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.7.1 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.7.1 py38h32f6830_0 conda-forge \n", "mlflow 1.7.2 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.7.2 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.7.2 py38h32f6830_0 conda-forge \n", "mlflow 1.8.0 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.8.0 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.8.0 py38h32f6830_0 conda-forge \n", "mlflow 1.9.1 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.9.1 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.9.1 py38h32f6830_0 conda-forge \n", "mlflow 1.10.0 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.10.0 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.10.0 py38h32f6830_0 conda-forge \n", "mlflow 1.11.0 py36h9f0ad1d_0 conda-forge \n", "mlflow 1.11.0 py36h9f0ad1d_1 conda-forge \n", "mlflow 1.11.0 py37hc8dfbb8_0 conda-forge \n", "mlflow 1.11.0 py37hc8dfbb8_1 conda-forge \n", "mlflow 1.11.0 py38h32f6830_0 conda-forge \n", "mlflow 1.11.0 py38h32f6830_1 conda-forge \n", "mlflow 1.12.0 py36h5fab9bb_0 conda-forge \n", "mlflow 1.12.0 py37h89c1867_0 conda-forge \n", "mlflow 1.12.0 py38h578d9bd_0 conda-forge \n", "mlflow 1.12.1 py36h5fab9bb_0 conda-forge \n", "mlflow 1.12.1 py37h89c1867_0 conda-forge \n", "mlflow 1.12.1 py38h578d9bd_0 conda-forge \n", "mlflow 1.13 py36h5fab9bb_0 conda-forge \n", "mlflow 1.13 py37h89c1867_0 conda-forge \n", "mlflow 1.13 py38h578d9bd_0 conda-forge \n", "mlflow 1.13.1 py36h5fab9bb_0 conda-forge \n", "mlflow 1.13.1 py36h5fab9bb_2 conda-forge \n", "mlflow 1.13.1 py36hd000896_2 conda-forge \n", "mlflow 1.13.1 py37h89c1867_0 conda-forge \n", "mlflow 1.13.1 py37h89c1867_2 conda-forge \n", "mlflow 1.13.1 py38h578d9bd_0 conda-forge \n", "mlflow 1.13.1 py38h578d9bd_2 conda-forge \n", "mlflow 1.13.1 py39hf3d152e_2 conda-forge \n", "mlflow 1.14.0 py36h24e63a9_1 conda-forge \n", "mlflow 1.14.0 py36h5fab9bb_0 conda-forge \n", "mlflow 1.14.0 py36h87b8279_1 conda-forge \n", "mlflow 1.14.0 py36hd000896_0 conda-forge \n", "mlflow 1.14.0 py37h02d9ccd_1 conda-forge \n", "mlflow 1.14.0 py37h89c1867_0 conda-forge \n", "mlflow 1.14.0 py38h578d9bd_0 conda-forge \n", "mlflow 1.14.0 py38he918c71_1 conda-forge \n", "mlflow 1.14.0 py39ha39b057_1 conda-forge \n", "mlflow 1.14.0 py39hf3d152e_0 conda-forge \n", "mlflow 1.14.1 py36h24e63a9_0 conda-forge \n", "mlflow 1.14.1 py36h87b8279_0 conda-forge \n", "mlflow 1.14.1 py37h02d9ccd_0 conda-forge \n", "mlflow 1.14.1 py38he918c71_0 conda-forge \n", "mlflow 1.14.1 py39ha39b057_0 conda-forge \n", "mlflow 1.15.0 py36h24e63a9_0 conda-forge \n", "mlflow 1.15.0 py36h87b8279_0 conda-forge \n", "mlflow 1.15.0 py37h02d9ccd_0 conda-forge \n", "mlflow 1.15.0 py38he918c71_0 conda-forge \n", "mlflow 1.15.0 py39ha39b057_0 conda-forge \n", "mlflow 1.16.0 py36h24e63a9_0 conda-forge \n", "mlflow 1.16.0 py36h87b8279_0 conda-forge \n", "mlflow 1.16.0 py37h02d9ccd_0 conda-forge \n", "mlflow 1.16.0 py38he918c71_0 conda-forge \n", "mlflow 1.16.0 py39ha39b057_0 conda-forge \n", "mlflow 1.17.0 py36h24e63a9_0 conda-forge \n", "mlflow 1.17.0 py36h24e63a9_1 conda-forge \n", "mlflow 1.17.0 py36h87b8279_0 conda-forge \n", "mlflow 1.17.0 py36h87b8279_1 conda-forge \n", "mlflow 1.17.0 py37h02d9ccd_0 conda-forge \n", "mlflow 1.17.0 py37h02d9ccd_1 conda-forge \n", "mlflow 1.17.0 py38he918c71_0 conda-forge \n", "mlflow 1.17.0 py38he918c71_1 conda-forge \n", "mlflow 1.17.0 py39ha39b057_0 conda-forge \n", "mlflow 1.17.0 py39ha39b057_1 conda-forge \n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda search mlflow" ] }, { "cell_type": "markdown", "id": "7ab96758", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "\n", "## Środowiska (Environments)\n", "- Podstawową funkcjonalnością, którą zapewnia conda są izolowane środowiska\n", "- Nie zapewniają one takiego stopnia izolacji co np. Docker, ale ma to swoje zalety\n", "- Środowisko to tak naprawdę katalog zawierający zbiór bibliotek, plików wykonywalnych i innych zależności\n", "- Środowiska mogą zawierać różne wersje zarówno modułów Python jak i bibliotek systemowych, plików wykonywalnych (w tym samego Pythona)\n", "- Domyślne środowisko nazywa się `base`. Nie powinniśmy go modyfikować a raczej tworzyć nowe środowisko dla każdego zastosowania" ] }, { "cell_type": "markdown", "id": "5c57462d", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Wyświetlanie listy środowisk:" ] }, { "cell_type": "code", "execution_count": 12, "id": "638002cd", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# conda environments:\n", "#\n", " /home/tomek/anaconda3\n", "base * /home/tomek/miniconda3\n", "mlflow-004410b12f95e2e00831a0ba11ee1bfdc29d6f9d /home/tomek/miniconda3/envs/mlflow-004410b12f95e2e00831a0ba11ee1bfdc29d6f9d\n", "mlflow-503f0c7520a32f054a9d168bd099584a9439de9d /home/tomek/miniconda3/envs/mlflow-503f0c7520a32f054a9d168bd099584a9439de9d\n", "mlflow-5987e03d4dbaa5faa1a697bb113be9b9bdc39b29 /home/tomek/miniconda3/envs/mlflow-5987e03d4dbaa5faa1a697bb113be9b9bdc39b29\n", "\n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda info --envs" ] }, { "cell_type": "markdown", "id": "e7e40897", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Tworzenie środowiska\n", "Środowisko można utworzyć i skonfigurować interaktywnie, lub z pliku `*.yml`" ] }, { "cell_type": "code", "execution_count": 14, "id": "0373de68", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting package metadata (current_repodata.json): done\n", "Solving environment: done\n", "\n", "## Package Plan ##\n", "\n", " environment location: /home/tomek/miniconda3/envs/hello_env\n", "\n", "\n", "\n", "Preparing transaction: done\n", "Verifying transaction: done\n", "Executing transaction: done\n", "#\n", "# To activate this environment, use\n", "#\n", "# $ conda activate hello_env\n", "#\n", "# To deactivate an active environment, use\n", "#\n", "# $ conda deactivate\n", "\n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda create --name hello_env -y" ] }, { "cell_type": "markdown", "id": "c8688ba6", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Aktywacja środowiska\n", " - Żeby zmodyfikować środowisko albo zacząć z niego korzystać, musimy je aktywować.\n", " - Aktywacja środowiska polega tak naprawdę na zmianie zmiennych środowiskowych, które mówią programom gdzie szukać ładowanych przez nie bibliotek i plików wykonywalnych, takich jak `PATH`, `PYTHON_PATH` itp.\n", " - Po aktywowaniu środowiska w konsoli zobaczymy jego nazwę dopisaną na początku lini poleceń:" ] }, { "cell_type": "markdown", "id": "767f03e6", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "```\n", "$ conda activate hello_env\n", "(hello_env) tomek@tomek-asus:/home$ python3 --version\n", "Python 3.8.5\n", "```" ] }, { "cell_type": "markdown", "id": "245e64be", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Domyślnie wersja pythona będzie taka sama jak systemowa.\n", "Żeby deaktywować środowisko, używamy `conda deactivate`:" ] }, { "cell_type": "markdown", "id": "261f9aab", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "```\n", "$ conda deactivate\n", "python3 --version\n", "Python 3.8.5\n", "```" ] }, { "cell_type": "markdown", "id": "980c295c", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Modyfikowanie środowiska\n", "Jeśli chcemy stworzyc środowisko z inną wersją niż systemowa:" ] }, { "cell_type": "code", "execution_count": 1, "id": "ccaadc75", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting package metadata (current_repodata.json): done\n", "Solving environment: done\n", "\n", "## Package Plan ##\n", "\n", " environment location: /home/tomek/miniconda3/envs/myenv\n", "\n", " added / updated specs:\n", " - python=3.9\n", "\n", "\n", "The following packages will be downloaded:\n", "\n", " package | build\n", " ---------------------------|-----------------\n", " ca-certificates-2023.01.10 | h06a4308_0 120 KB\n", " libffi-3.4.2 | h6a678d5_6 136 KB\n", " libgcc-ng-11.2.0 | h1234567_1 5.3 MB\n", " libgomp-11.2.0 | h1234567_1 474 KB\n", " libstdcxx-ng-11.2.0 | h1234567_1 4.7 MB\n", " ncurses-6.4 | h6a678d5_0 914 KB\n", " pip-23.0.1 | py39h06a4308_0 2.5 MB\n", " python-3.9.16 | h7a1cb2a_2 25.1 MB\n", " readline-8.2 | h5eee18b_0 357 KB\n", " setuptools-66.0.0 | py39h06a4308_0 1.2 MB\n", " sqlite-3.41.2 | h5eee18b_0 1.2 MB\n", " tk-8.6.12 | h1ccaba5_0 3.0 MB\n", " tzdata-2023c | h04d1e81_0 116 KB\n", " wheel-0.38.4 | py39h06a4308_0 64 KB\n", " xz-5.2.10 | h5eee18b_1 429 KB\n", " zlib-1.2.13 | h5eee18b_0 103 KB\n", " ------------------------------------------------------------\n", " Total: 45.7 MB\n", "\n", "The following NEW packages will be INSTALLED:\n", "\n", " _libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main \n", " _openmp_mutex pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu \n", " ca-certificates pkgs/main/linux-64::ca-certificates-2023.01.10-h06a4308_0 \n", " ld_impl_linux-64 pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1 \n", " libffi pkgs/main/linux-64::libffi-3.4.2-h6a678d5_6 \n", " libgcc-ng pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1 \n", " libgomp pkgs/main/linux-64::libgomp-11.2.0-h1234567_1 \n", " libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1 \n", " ncurses pkgs/main/linux-64::ncurses-6.4-h6a678d5_0 \n", " openssl pkgs/main/linux-64::openssl-1.1.1t-h7f8727e_0 \n", " pip pkgs/main/linux-64::pip-23.0.1-py39h06a4308_0 \n", " python pkgs/main/linux-64::python-3.9.16-h7a1cb2a_2 \n", " readline pkgs/main/linux-64::readline-8.2-h5eee18b_0 \n", " setuptools pkgs/main/linux-64::setuptools-66.0.0-py39h06a4308_0 \n", " sqlite pkgs/main/linux-64::sqlite-3.41.2-h5eee18b_0 \n", " tk pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0 \n", " tzdata pkgs/main/noarch::tzdata-2023c-h04d1e81_0 \n", " wheel pkgs/main/linux-64::wheel-0.38.4-py39h06a4308_0 \n", " xz pkgs/main/linux-64::xz-5.2.10-h5eee18b_1 \n", " zlib pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0 \n", "\n", "\n", "\n", "Downloading and Extracting Packages\n", "tzdata-2023c | 116 KB | | 0% \n", "libgcc-ng-11.2.0 | 5.3 MB | | 0% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | | 0% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | | 0% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "readline-8.2 | 357 KB | | 0% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | | 0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "ca-certificates-2023 | 120 KB | | 0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | | 0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "libffi-3.4.2 | 136 KB | | 0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "ncurses-6.4 | 914 KB | | 0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "wheel-0.38.4 | 64 KB | | 0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "zlib-1.2.13 | 103 KB | | 0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "sqlite-3.41.2 | 1.2 MB | | 0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | | 0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "libgomp-11.2.0 | 474 KB | | 0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tzdata-2023c | 116 KB | #####1 | 14% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | | 0% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | 4 | 1% \u001b[A\u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | 1 | 0% \u001b[A\n", "\n", "\n", "\n", "tzdata-2023c | 116 KB | ###############3 | 42% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | | 0% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | #4 | 4% \u001b[A\u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | 3 | 1% \u001b[A\n", "\n", "\n", "\n", "tzdata-2023c | 116 KB | ##############################7 | 83% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 1 | 0% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ##4 | 7% \u001b[A\u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | 5 | 1% \u001b[A\n", "\n", "\n", "\n", "readline-8.2 | 357 KB | ########2 | 22% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 1 | 0% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | 6 | 2% \u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | 1 | 0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "tzdata-2023c | 116 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | 9 | 3% \u001b[A\n", "\n", "\n", "\n", "readline-8.2 | 357 KB | #############2 | 36% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | 3 | 1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 2 | 1% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | #####4 | 15% \u001b[A\u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #1 | 3% \u001b[A\n", "\n", "\n", "\n", "readline-8.2 | 357 KB | ##################2 | 49% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 2 | 1% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | 7 | 2% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 3 | 1% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | 8 | 2% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #4 | 4% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 3 | 1% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ######9 | 19% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | #######3 | 20% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "readline-8.2 | 357 KB | #######################2 | 63% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | 9 | 3% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #1 | 3% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 3 | 1% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #2 | 3% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 4 | 1% \u001b[A\u001b[A\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "python-3.9.16 | 25.1 MB | 4 | 1% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #5 | 4% \u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #3 | 4% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "readline-8.2 | 357 KB | ##########################5 | 72% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #4 | 4% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "readline-8.2 | 357 KB | #############################8 | 81% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ########8 | 24% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | #########3 | 25% \u001b[A\u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #8 | 5% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #9 | 5% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ## | 6% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 4 | 1% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 4 | 1% \u001b[A\u001b[A\n", "\n", "\n", "\n", "readline-8.2 | 357 KB | ###############################5 | 85% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 5 | 1% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | #########8 | 27% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ##########3 | 28% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #7 | 5% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "readline-8.2 | 357 KB | ##################################8 | 94% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 5 | 2% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##1 | 6% \u001b[A\n", "\n", "\n", "\n", "readline-8.2 | 357 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "readline-8.2 | 357 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ## | 6% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 6 | 2% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##8 | 8% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###1 | 8% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###2 | 9% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###3 | 9% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 6 | 2% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##7 | 7% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ### | 8% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###4 | 9% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###5 | 10% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ###########3 | 31% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "ca-certificates-2023 | 120 KB | ####9 | 13% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###9 | 11% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 6 | 2% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "ca-certificates-2023 | 120 KB | ##################################5 | 93% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "ca-certificates-2023 | 120 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 7 | 2% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | #############3 | 36% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #### | 11% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | #############8 | 37% \u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 8 | 2% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ##############2 | 39% \u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 8 | 2% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ##############7 | 40% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ####1 | 11% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 8 | 2% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ###############7 | 43% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | #3 | 4% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ####3 | 12% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | #################2 | 47% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ####################2 | 55% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ####5 | 12% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | ##7 | 7% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ########################6 | 67% \u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 8 | 2% \u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | #############################5 | 80% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | ####1 | 11% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ####6 | 13% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ##################################9 | 95% \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "libffi-3.4.2 | 136 KB | ####3 | 12% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | #####5 | 15% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 9 | 2% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ####8 | 13% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "ncurses-6.4 | 914 KB | 6 | 2% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 9 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | ########2 | 22% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ####9 | 13% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "setuptools-66.0.0 | 1.2 MB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 9 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "ncurses-6.4 | 914 KB | ######################6 | 61% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | ############4 | 34% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #####1 | 14% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "libffi-3.4.2 | 136 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "libffi-3.4.2 | 136 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | 9 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | ###############1 | 41% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #####2 | 14% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "wheel-0.38.4 | 64 KB | #########3 | 25% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | # | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #####4 | 15% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | #################9 | 48% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "zlib-1.2.13 | 103 KB | #####7 | 15% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "sqlite-3.41.2 | 1.2 MB | 4 | 1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "ncurses-6.4 | 914 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | # | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | ###########################5 | 75% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "sqlite-3.41.2 | 1.2 MB | ####9 | 13% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "wheel-0.38.4 | 64 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "wheel-0.38.4 | 64 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #####7 | 16% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | # | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "sqlite-3.41.2 | 1.2 MB | #########8 | 27% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | ###############################7 | 86% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "zlib-1.2.13 | 103 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "zlib-1.2.13 | 103 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "sqlite-3.41.2 | 1.2 MB | ##############7 | 40% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###### | 16% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #1 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | ###################################8 | 97% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "sqlite-3.41.2 | 1.2 MB | ###################7 | 53% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ######1 | 17% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "sqlite-3.41.2 | 1.2 MB | ########################6 | 67% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #1 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "xz-5.2.10 | 429 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | 1 | 1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "sqlite-3.41.2 | 1.2 MB | #############################5 | 80% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | 5 | 2% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ######4 | 17% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #1 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | 9 | 3% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "sqlite-3.41.2 | 1.2 MB | ################################## | 92% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #1 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ######6 | 18% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | #5 | 4% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "libgomp-11.2.0 | 474 KB | #2 | 3% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "sqlite-3.41.2 | 1.2 MB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #1 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "libgomp-11.2.0 | 474 KB | #############7 | 37% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ######9 | 19% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ##1 | 6% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "libgomp-11.2.0 | 474 KB | ##########################2 | 71% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #2 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ##6 | 7% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #######1 | 19% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #2 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | 2 | 1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ###2 | 9% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #######3 | 20% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "libgomp-11.2.0 | 474 KB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ##2 | 6% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #2 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ###8 | 10% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ####5 | 12% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #######6 | 21% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #2 | 3% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ####3 | 12% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ######6 | 18% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #3 | 4% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #######8 | 21% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ####9 | 13% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ########6 | 23% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #3 | 4% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ########1 | 22% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | #####5 | 15% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ##########7 | 29% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ########3 | 23% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #3 | 4% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ######1 | 17% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ############5 | 34% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ########6 | 23% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #4 | 4% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ##############6 | 40% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "tk-8.6.12 | 3.0 MB | ######6 | 18% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ########8 | 24% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ################4 | 44% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | #######2 | 20% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #4 | 4% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ##################2 | 49% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #########1 | 25% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | #######8 | 21% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ####################1 | 54% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #5 | 4% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #########3 | 25% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ########4 | 23% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #########6 | 26% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #5 | 4% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | #####################9 | 59% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ########9 | 24% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | #######################7 | 64% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #########8 | 27% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | #########5 | 26% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #6 | 4% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##########1 | 27% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ##########1 | 27% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #6 | 4% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | #########################6 | 69% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##########3 | 28% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ###########################6 | 75% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ##########6 | 29% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #7 | 5% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##########5 | 29% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | #############################2 | 79% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ###########2 | 30% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##########8 | 29% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #7 | 5% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ##############################8 | 83% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ############ | 33% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ################################4 | 88% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###########2 | 30% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #7 | 5% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ############6 | 34% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ################################## | 92% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###########4 | 31% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | #############3 | 36% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #8 | 5% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ###################################6 | 96% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ##############1 | 38% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #8 | 5% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###########8 | 32% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ############1 | 33% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ###############2 | 41% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #9 | 5% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ############5 | 34% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "pip-23.0.1 | 2.5 MB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #############1 | 36% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ##################3 | 50% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ## | 6% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #############6 | 37% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ###################8 | 54% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##1 | 6% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##############1 | 38% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | #####################2 | 57% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##2 | 6% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##############7 | 40% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##3 | 6% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ######################5 | 61% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##3 | 6% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###############4 | 42% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | #######################8 | 65% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###############8 | 43% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##4 | 7% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | #########################2 | 68% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ################3 | 44% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##5 | 7% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "tk-8.6.12 | 3.0 MB | ##########################5 | 72% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ################8 | 46% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##6 | 7% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ###########################7 | 75% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #################3 | 47% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##7 | 7% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ############################8 | 78% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #################8 | 48% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##8 | 8% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | #############################8 | 81% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##################3 | 50% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##9 | 8% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ##############################7 | 83% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ### | 8% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##################8 | 51% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ###############################7 | 86% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###1 | 8% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###################3 | 52% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ################################8 | 89% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###2 | 9% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###################8 | 54% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ##################################3 | 93% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###3 | 9% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ####################3 | 55% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ###################################5 | 96% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###4 | 9% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ####################8 | 56% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ####################################6 | 99% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###5 | 9% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #####################4 | 58% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###5 | 10% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###################### | 60% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "tk-8.6.12 | 3.0 MB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###8 | 10% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ######################7 | 62% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###9 | 11% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #######################6 | 64% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####1 | 11% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ########################5 | 66% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####2 | 12% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #########################3 | 69% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####4 | 12% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##########################2 | 71% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####6 | 12% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##########################9 | 73% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####7 | 13% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###########################7 | 75% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####9 | 13% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ############################4 | 77% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##### | 14% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #############################2 | 79% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####2 | 14% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #############################9 | 81% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####3 | 14% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##############################6 | 83% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####4 | 15% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###############################4 | 85% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####6 | 15% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ################################1 | 87% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###4 | 9% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####7 | 16% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ################################# | 89% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###5 | 10% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####9 | 16% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######1 | 17% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######2 | 17% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | #################################7 | 91% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######3 | 17% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##################################3 | 93% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######5 | 18% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###6 | 10% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######6 | 18% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##################################8 | 94% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######7 | 18% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###################################3 | 96% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######8 | 19% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ###################################8 | 97% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###7 | 10% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######9 | 19% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ####################################3 | 98% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####### | 19% \u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ####################################8 | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######1 | 19% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######2 | 20% \u001b[A\u001b[A\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "libgcc-ng-11.2.0 | 5.3 MB | ###8 | 11% \u001b[A\n", "\n", "\n", "\n", "\n", "libstdcxx-ng-11.2.0 | 4.7 MB | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######4 | 20% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######6 | 21% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######7 | 21% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #### | 11% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######8 | 21% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####1 | 11% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####2 | 11% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######## | 22% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####3 | 12% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########1 | 22% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####4 | 12% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########1 | 22% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####5 | 12% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####7 | 13% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####9 | 13% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #####7 | 16% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########7 | 24% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #####9 | 16% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########9 | 24% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######1 | 17% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######3 | 17% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######### | 24% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######6 | 18% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######7 | 18% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######8 | 18% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########1 | 25% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######9 | 19% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####### | 19% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #######1 | 19% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########1 | 25% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #######3 | 20% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########2 | 25% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #######5 | 20% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########2 | 25% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #######7 | 21% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########3 | 25% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######## | 22% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########3 | 25% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ########2 | 22% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########4 | 25% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ########4 | 23% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########4 | 26% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ########7 | 24% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########5 | 26% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######### | 25% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########6 | 26% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #########4 | 25% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #########7 | 26% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########7 | 26% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ########## | 27% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########7 | 26% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########8 | 27% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##########4 | 28% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########9 | 27% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##########8 | 29% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########9 | 27% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###########1 | 30% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########## | 27% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###########4 | 31% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########1 | 27% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###########7 | 32% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########1 | 27% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ############ | 32% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########2 | 28% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ############2 | 33% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########2 | 28% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ############4 | 34% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########3 | 28% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ############7 | 35% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########3 | 28% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ############9 | 35% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########3 | 28% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #############3 | 36% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########4 | 28% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #############6 | 37% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########5 | 28% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #############9 | 38% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########6 | 29% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##############3 | 39% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########6 | 29% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##############8 | 40% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########7 | 29% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###############2 | 41% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########8 | 29% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###############5 | 42% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########9 | 29% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ################ | 43% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########9 | 30% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ################4 | 44% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########### | 30% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ################7 | 45% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########1 | 30% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ################# | 46% \u001b[A\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "python-3.9.16 | 25.1 MB | ###########2 | 30% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #################4 | 47% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########2 | 30% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #################7 | 48% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########3 | 31% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ################## | 49% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########4 | 31% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##################3 | 50% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########5 | 31% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##################7 | 51% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##################9 | 51% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########5 | 31% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###################1 | 52% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########6 | 31% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###################3 | 52% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########6 | 32% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###################5 | 53% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########7 | 32% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###################8 | 54% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########7 | 32% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #################### | 54% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########8 | 32% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####################2 | 55% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########9 | 32% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####################5 | 56% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########9 | 32% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####################7 | 56% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############ | 33% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####################9 | 57% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############1 | 33% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #####################3 | 58% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############1 | 33% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #####################5 | 58% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############2 | 33% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #####################7 | 59% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############2 | 33% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #####################9 | 59% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############3 | 33% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############3 | 33% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######################1 | 60% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############4 | 34% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######################3 | 61% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############4 | 34% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######################6 | 61% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############5 | 34% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######################9 | 62% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############6 | 34% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #######################2 | 63% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############7 | 34% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############7 | 35% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #######################5 | 64% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############8 | 35% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #######################8 | 64% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############9 | 35% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ######################## | 65% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ########################2 | 66% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############9 | 35% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ########################4 | 66% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############# | 35% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ########################6 | 67% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############1 | 35% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ########################8 | 67% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############1 | 36% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #########################1 | 68% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############2 | 36% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #########################4 | 69% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############3 | 36% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #########################7 | 70% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############4 | 36% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ########################## | 70% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##########################4 | 71% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############5 | 37% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##########################8 | 73% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############6 | 37% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###########################1 | 73% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############7 | 37% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###########################4 | 74% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############7 | 37% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###########################8 | 75% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############8 | 37% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ############################1 | 76% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############9 | 38% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ############################3 | 77% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############9 | 38% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ############################5 | 77% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############## | 38% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############## | 38% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ############################7 | 78% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############1 | 38% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ############################# | 78% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############1 | 38% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #############################2 | 79% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############2 | 38% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #############################4 | 80% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############2 | 39% \u001b[A\u001b[A\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "libgcc-ng-11.2.0 | 5.3 MB | #############################6 | 80% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############3 | 39% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############3 | 39% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #############################8 | 81% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############4 | 39% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ############################## | 81% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############4 | 39% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############5 | 39% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##############################2 | 82% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############5 | 39% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##############################5 | 82% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############5 | 39% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##############################7 | 83% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############6 | 40% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##############################9 | 84% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############6 | 40% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############7 | 40% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###############################1 | 84% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############7 | 40% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###############################4 | 85% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############8 | 40% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###############################7 | 86% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############9 | 40% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###############################9 | 86% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############9 | 41% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ################################1 | 87% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############### | 41% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ################################3 | 87% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############1 | 41% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ################################5 | 88% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############1 | 41% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ################################7 | 89% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############2 | 41% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ################################# | 89% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############3 | 41% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #################################2 | 90% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #################################4 | 90% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############3 | 42% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #################################6 | 91% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############4 | 42% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #################################8 | 92% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############5 | 42% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##################################1 | 92% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############5 | 42% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##################################5 | 93% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############6 | 42% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##################################8 | 94% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############7 | 43% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###################################2 | 95% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############8 | 43% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ###################################6 | 96% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############9 | 43% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | #################################### | 97% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################ | 43% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####################################3 | 98% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################1 | 44% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ####################################6 | 99% \u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##################################### | 100% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################1 | 44% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################2 | 44% \u001b[A\u001b[A\n", "libgcc-ng-11.2.0 | 5.3 MB | ##################################### | 100% \u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################3 | 44% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################4 | 45% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################6 | 45% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################7 | 45% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################8 | 46% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################9 | 46% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################1 | 46% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################2 | 47% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################4 | 47% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################6 | 48% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################8 | 48% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################9 | 49% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################1 | 49% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################3 | 50% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################5 | 50% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################6 | 51% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################8 | 51% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################### | 51% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################2 | 52% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################4 | 52% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################5 | 53% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################7 | 53% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################8 | 54% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################### | 54% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################2 | 55% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################3 | 55% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################5 | 55% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################6 | 56% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################7 | 56% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################9 | 57% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################### | 57% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####################1 | 57% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####################2 | 57% \u001b[A\u001b[A\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "python-3.9.16 | 25.1 MB | #####################3 | 58% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####################4 | 58% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####################6 | 58% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####################7 | 59% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####################8 | 59% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #####################9 | 59% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################### | 60% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######################1 | 60% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######################2 | 60% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######################3 | 60% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######################4 | 61% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######################5 | 61% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######################7 | 61% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######################8 | 62% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######################9 | 62% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################### | 62% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######################1 | 63% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######################2 | 63% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######################3 | 63% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######################4 | 63% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######################5 | 64% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######################6 | 64% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######################7 | 64% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #######################9 | 65% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ######################## | 65% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########################1 | 65% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########################2 | 66% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########################3 | 66% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########################4 | 66% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########################6 | 66% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########################7 | 67% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########################8 | 67% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########################9 | 68% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########################1 | 68% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########################2 | 68% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########################4 | 69% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########################5 | 69% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########################7 | 70% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #########################9 | 70% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########################## | 70% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########################1 | 71% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########################3 | 71% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########################4 | 71% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########################5 | 72% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########################6 | 72% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########################7 | 72% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##########################8 | 73% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ########################### | 73% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########################1 | 73% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########################3 | 74% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########################5 | 74% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########################7 | 75% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###########################9 | 76% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############################1 | 76% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############################3 | 77% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############################5 | 77% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############################7 | 78% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############################9 | 78% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############################1 | 79% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############################4 | 80% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############################6 | 80% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #############################8 | 81% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############################## | 81% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############################2 | 82% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############################4 | 82% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############################6 | 83% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##############################8 | 83% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ############################### | 84% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############################1 | 84% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############################3 | 85% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############################5 | 85% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############################7 | 86% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###############################8 | 86% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################################ | 87% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################################1 | 87% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################################3 | 87% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################################4 | 88% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################################6 | 88% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################################7 | 89% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################################8 | 89% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################################# | 89% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################################1 | 90% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################################2 | 90% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################################3 | 90% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################################4 | 90% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################################5 | 91% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################################7 | 91% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################################8 | 92% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################################## | 92% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################1 | 92% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################2 | 93% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################4 | 93% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################4 | 93% \u001b[A\u001b[A\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "python-3.9.16 | 25.1 MB | ##################################5 | 93% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################6 | 94% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################6 | 94% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################7 | 94% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################7 | 94% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################8 | 94% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################8 | 94% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################9 | 94% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ##################################9 | 95% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################################### | 95% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ################################### | 95% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################1 | 95% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################1 | 95% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################2 | 95% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################2 | 95% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################3 | 95% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################3 | 96% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################3 | 96% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################4 | 96% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################5 | 96% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################6 | 96% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################6 | 96% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################7 | 97% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################7 | 97% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################8 | 97% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################8 | 97% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ###################################9 | 97% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | #################################### | 97% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################################1 | 98% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################################3 | 98% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################################4 | 99% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################################6 | 99% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################################7 | 99% \u001b[A\u001b[A\n", "\n", "python-3.9.16 | 25.1 MB | ####################################9 | 100% \u001b[A\u001b[A\n", "\n", " \u001b[A\u001b[A\n", " \u001b[A\n", "\n", " \u001b[A\u001b[A\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n", "Preparing transaction: done\n", "Verifying transaction: done\n", "Executing transaction: done\n", "#\n", "# To activate this environment, use\n", "#\n", "# $ conda activate myenv\n", "#\n", "# To deactivate an active environment, use\n", "#\n", "# $ conda deactivate\n", "\n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda create -y -n myenv python=3.9" ] }, { "cell_type": "markdown", "id": "68bcd671", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Rzeczywiście, stworzone środowisko ma wersję Pythona z linii 3.9:" ] }, { "cell_type": "markdown", "id": "db3311c4", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "```\n", "$ conda activate myenv\n", "(myenv)$ python3 --version\n", "Python 3.9.4\n", "```" ] }, { "cell_type": "markdown", "id": "10b5cf2e", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Tak samo, przy tworzeniu środowiska możemy podać inne zależności wraz z ich wersjami:" ] }, { "cell_type": "code", "execution_count": 25, "id": "dd2eefc5", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting package metadata (current_repodata.json): done\n", "Solving environment: done\n", "\n", "## Package Plan ##\n", "\n", " environment location: /home/tomek/miniconda3/envs/p39-mlflow-pandas\n", "\n", " added / updated specs:\n", " - mlflow\n", " - pandas=1.2.3\n", " - python=3.9\n", "\n", "\n", "The following packages will be downloaded:\n", "\n", " package | build\n", " ---------------------------|-----------------\n", " alembic-1.6.3 | pyhd8ed1ab_0 114 KB conda-forge\n", " appdirs-1.4.4 | pyh9f0ad1d_0 13 KB conda-forge\n", " asn1crypto-1.4.0 | pyh9f0ad1d_0 78 KB conda-forge\n", " brotlipy-0.7.0 |py39h3811e60_1001 341 KB conda-forge\n", " cffi-1.14.5 | py39he32792d_0 227 KB conda-forge\n", " chardet-4.0.0 | py39hf3d152e_1 205 KB conda-forge\n", " click-8.0.1 | py39hf3d152e_0 146 KB conda-forge\n", " cloudpickle-1.6.0 | py_0 22 KB conda-forge\n", " configparser-5.0.2 | pyhd8ed1ab_0 21 KB conda-forge\n", " cryptography-3.4.7 | py39hbca0aa6_0 1.1 MB conda-forge\n", " databricks-cli-0.9.1 | py_0 48 KB conda-forge\n", " dataclasses-0.8 | pyhc8e2a94_1 7 KB conda-forge\n", " docker-py-5.0.0 | py39hf3d152e_0 187 KB conda-forge\n", " docker-pycreds-0.4.0 | py_0 11 KB conda-forge\n", " entrypoints-0.3 | pyhd8ed1ab_1003 8 KB conda-forge\n", " flask-2.0.1 | pyhd8ed1ab_0 70 KB conda-forge\n", " gitdb-4.0.7 | pyhd8ed1ab_0 46 KB conda-forge\n", " gitpython-3.1.17 | pyhd8ed1ab_0 115 KB conda-forge\n", " gorilla-0.4.0 | pyhd8ed1ab_0 13 KB conda-forge\n", " greenlet-1.1.0 | py39he80948d_0 84 KB conda-forge\n", " gunicorn-20.1.0 | py39hf3d152e_0 119 KB conda-forge\n", " idna-2.10 | pyh9f0ad1d_0 52 KB conda-forge\n", " itsdangerous-2.0.1 | pyhd8ed1ab_0 17 KB conda-forge\n", " jinja2-3.0.1 | pyhd8ed1ab_0 99 KB conda-forge\n", " libblas-3.9.0 | 9_openblas 11 KB conda-forge\n", " libcblas-3.9.0 | 9_openblas 11 KB conda-forge\n", " libgfortran-ng-9.3.0 | hff62375_19 22 KB conda-forge\n", " libgfortran5-9.3.0 | hff62375_19 2.0 MB conda-forge\n", " liblapack-3.9.0 | 9_openblas 11 KB conda-forge\n", " libopenblas-0.3.15 |pthreads_h8fe5266_1 9.2 MB conda-forge\n", " libprotobuf-3.17.0 | h780b84a_0 2.5 MB conda-forge\n", " mako-1.1.4 | pyh44b312d_0 58 KB conda-forge\n", " markupsafe-2.0.1 | py39h3811e60_0 22 KB conda-forge\n", " mlflow-1.2.0 | py_1 3.4 MB conda-forge\n", " numpy-1.20.3 | py39hdbf815f_0 5.8 MB conda-forge\n", " packaging-20.9 | pyh44b312d_0 35 KB conda-forge\n", " pandas-1.2.3 | py39hde0f152_0 12.1 MB conda-forge\n", " protobuf-3.17.0 | py39he80948d_0 346 KB conda-forge\n", " pycparser-2.20 | pyh9f0ad1d_2 94 KB conda-forge\n", " pyopenssl-20.0.1 | pyhd8ed1ab_0 48 KB conda-forge\n", " pyparsing-2.4.7 | pyh9f0ad1d_0 60 KB conda-forge\n", " pysocks-1.7.1 | py39hf3d152e_3 28 KB conda-forge\n", " python-dateutil-2.8.1 | py_0 220 KB conda-forge\n", " python-editor-1.0.4 | py_0 9 KB conda-forge\n", " pytz-2021.1 | pyhd8ed1ab_0 239 KB conda-forge\n", " pyyaml-5.4.1 | py39h3811e60_0 193 KB conda-forge\n", " querystring_parser-1.2.4 | py_0 10 KB conda-forge\n", " requests-2.25.1 | pyhd3deb0d_0 51 KB conda-forge\n", " simplejson-3.17.2 | py39h3811e60_2 103 KB conda-forge\n", " six-1.16.0 | pyh6c4a22f_0 14 KB conda-forge\n", " smmap-3.0.5 | pyh44b312d_0 22 KB conda-forge\n", " sqlalchemy-1.4.15 | py39h3811e60_0 2.3 MB conda-forge\n", " sqlparse-0.4.1 | pyh9f0ad1d_0 34 KB conda-forge\n", " tabulate-0.8.9 | pyhd8ed1ab_0 26 KB conda-forge\n", " typing_extensions-3.7.4.3 | py_0 25 KB conda-forge\n", " urllib3-1.26.4 | pyhd8ed1ab_0 99 KB conda-forge\n", " websocket-client-0.57.0 | py39hf3d152e_4 59 KB conda-forge\n", " werkzeug-2.0.1 | pyhd8ed1ab_0 219 KB conda-forge\n", " yaml-0.2.5 | h516909a_0 82 KB conda-forge\n", " ------------------------------------------------------------\n", " Total: 42.3 MB\n", "\n", "The following NEW packages will be INSTALLED:\n", "\n", " _libgcc_mutex conda-forge/linux-64::_libgcc_mutex-0.1-conda_forge\n", " _openmp_mutex conda-forge/linux-64::_openmp_mutex-4.5-1_gnu\n", " alembic conda-forge/noarch::alembic-1.6.3-pyhd8ed1ab_0\n", " appdirs conda-forge/noarch::appdirs-1.4.4-pyh9f0ad1d_0\n", " asn1crypto conda-forge/noarch::asn1crypto-1.4.0-pyh9f0ad1d_0\n", " brotlipy conda-forge/linux-64::brotlipy-0.7.0-py39h3811e60_1001\n", " ca-certificates conda-forge/linux-64::ca-certificates-2020.12.5-ha878542_0\n", " certifi conda-forge/linux-64::certifi-2020.12.5-py39hf3d152e_1\n", " cffi conda-forge/linux-64::cffi-1.14.5-py39he32792d_0\n", " chardet conda-forge/linux-64::chardet-4.0.0-py39hf3d152e_1\n", " click conda-forge/linux-64::click-8.0.1-py39hf3d152e_0\n", " cloudpickle conda-forge/noarch::cloudpickle-1.6.0-py_0\n", " configparser conda-forge/noarch::configparser-5.0.2-pyhd8ed1ab_0\n", " cryptography conda-forge/linux-64::cryptography-3.4.7-py39hbca0aa6_0\n", " databricks-cli conda-forge/noarch::databricks-cli-0.9.1-py_0\n", " dataclasses conda-forge/noarch::dataclasses-0.8-pyhc8e2a94_1\n", " docker-py conda-forge/linux-64::docker-py-5.0.0-py39hf3d152e_0\n", " docker-pycreds conda-forge/noarch::docker-pycreds-0.4.0-py_0\n", " entrypoints conda-forge/noarch::entrypoints-0.3-pyhd8ed1ab_1003\n", " flask conda-forge/noarch::flask-2.0.1-pyhd8ed1ab_0\n", " gitdb conda-forge/noarch::gitdb-4.0.7-pyhd8ed1ab_0\n", " gitpython conda-forge/noarch::gitpython-3.1.17-pyhd8ed1ab_0\n", " gorilla conda-forge/noarch::gorilla-0.4.0-pyhd8ed1ab_0\n", " greenlet conda-forge/linux-64::greenlet-1.1.0-py39he80948d_0\n", " gunicorn conda-forge/linux-64::gunicorn-20.1.0-py39hf3d152e_0\n", " idna conda-forge/noarch::idna-2.10-pyh9f0ad1d_0\n", " itsdangerous conda-forge/noarch::itsdangerous-2.0.1-pyhd8ed1ab_0\n", " jinja2 conda-forge/noarch::jinja2-3.0.1-pyhd8ed1ab_0\n", " ld_impl_linux-64 conda-forge/linux-64::ld_impl_linux-64-2.35.1-hea4e1c9_2\n", " libblas conda-forge/linux-64::libblas-3.9.0-9_openblas\n", " libcblas conda-forge/linux-64::libcblas-3.9.0-9_openblas\n", " libffi conda-forge/linux-64::libffi-3.3-h58526e2_2\n", " libgcc-ng conda-forge/linux-64::libgcc-ng-9.3.0-h2828fa1_19\n", " libgfortran-ng conda-forge/linux-64::libgfortran-ng-9.3.0-hff62375_19\n", " libgfortran5 conda-forge/linux-64::libgfortran5-9.3.0-hff62375_19\n", " libgomp conda-forge/linux-64::libgomp-9.3.0-h2828fa1_19\n", " liblapack conda-forge/linux-64::liblapack-3.9.0-9_openblas\n", " libopenblas conda-forge/linux-64::libopenblas-0.3.15-pthreads_h8fe5266_1\n", " libprotobuf conda-forge/linux-64::libprotobuf-3.17.0-h780b84a_0\n", " libstdcxx-ng conda-forge/linux-64::libstdcxx-ng-9.3.0-h6de172a_19\n", " mako conda-forge/noarch::mako-1.1.4-pyh44b312d_0\n", " markupsafe conda-forge/linux-64::markupsafe-2.0.1-py39h3811e60_0\n", " mlflow conda-forge/noarch::mlflow-1.2.0-py_1\n", " ncurses conda-forge/linux-64::ncurses-6.2-h58526e2_4\n", " numpy conda-forge/linux-64::numpy-1.20.3-py39hdbf815f_0\n", " openssl conda-forge/linux-64::openssl-1.1.1k-h7f98852_0\n", " packaging conda-forge/noarch::packaging-20.9-pyh44b312d_0\n", " pandas conda-forge/linux-64::pandas-1.2.3-py39hde0f152_0\n", " pip conda-forge/noarch::pip-21.1.2-pyhd8ed1ab_0\n", " protobuf conda-forge/linux-64::protobuf-3.17.0-py39he80948d_0\n", " pycparser conda-forge/noarch::pycparser-2.20-pyh9f0ad1d_2\n", " pyopenssl conda-forge/noarch::pyopenssl-20.0.1-pyhd8ed1ab_0\n", " pyparsing conda-forge/noarch::pyparsing-2.4.7-pyh9f0ad1d_0\n", " pysocks conda-forge/linux-64::pysocks-1.7.1-py39hf3d152e_3\n", " python conda-forge/linux-64::python-3.9.4-hffdb5ce_0_cpython\n", " python-dateutil conda-forge/noarch::python-dateutil-2.8.1-py_0\n", " python-editor conda-forge/noarch::python-editor-1.0.4-py_0\n", " python_abi conda-forge/linux-64::python_abi-3.9-1_cp39\n", " pytz conda-forge/noarch::pytz-2021.1-pyhd8ed1ab_0\n", " pyyaml conda-forge/linux-64::pyyaml-5.4.1-py39h3811e60_0\n", " querystring_parser conda-forge/noarch::querystring_parser-1.2.4-py_0\n", " readline conda-forge/linux-64::readline-8.1-h46c0cb4_0\n", " requests conda-forge/noarch::requests-2.25.1-pyhd3deb0d_0\n", " setuptools conda-forge/linux-64::setuptools-49.6.0-py39hf3d152e_3\n", " simplejson conda-forge/linux-64::simplejson-3.17.2-py39h3811e60_2\n", " six conda-forge/noarch::six-1.16.0-pyh6c4a22f_0\n", " smmap conda-forge/noarch::smmap-3.0.5-pyh44b312d_0\n", " sqlalchemy conda-forge/linux-64::sqlalchemy-1.4.15-py39h3811e60_0\n", " sqlite conda-forge/linux-64::sqlite-3.35.5-h74cdb3f_0\n", " sqlparse conda-forge/noarch::sqlparse-0.4.1-pyh9f0ad1d_0\n", " tabulate conda-forge/noarch::tabulate-0.8.9-pyhd8ed1ab_0\n", " tk conda-forge/linux-64::tk-8.6.10-h21135ba_1\n", " typing_extensions conda-forge/noarch::typing_extensions-3.7.4.3-py_0\n", " tzdata conda-forge/noarch::tzdata-2021a-he74cb21_0\n", " urllib3 conda-forge/noarch::urllib3-1.26.4-pyhd8ed1ab_0\n", " websocket-client conda-forge/linux-64::websocket-client-0.57.0-py39hf3d152e_4\n", " werkzeug conda-forge/noarch::werkzeug-2.0.1-pyhd8ed1ab_0\n", " wheel conda-forge/noarch::wheel-0.36.2-pyhd3deb0d_0\n", " xz conda-forge/linux-64::xz-5.2.5-h516909a_1\n", " yaml conda-forge/linux-64::yaml-0.2.5-h516909a_0\n", " zlib conda-forge/linux-64::zlib-1.2.11-h516909a_1010\n", "\n", "\n", "\n", "Downloading and Extracting Packages\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "smmap-3.0.5 | 22 KB | ##################################### | 100% \n", "sqlalchemy-1.4.15 | 2.3 MB | ##################################### | 100% \n", "appdirs-1.4.4 | 13 KB | ##################################### | 100% \n", "gunicorn-20.1.0 | 119 KB | ##################################### | 100% \n", "pyopenssl-20.0.1 | 48 KB | ##################################### | 100% \n", "mako-1.1.4 | 58 KB | ##################################### | 100% \n", "libopenblas-0.3.15 | 9.2 MB | ##################################### | 100% \n", "libcblas-3.9.0 | 11 KB | ##################################### | 100% \n", "gitdb-4.0.7 | 46 KB | ##################################### | 100% \n", "click-8.0.1 | 146 KB | ##################################### | 100% \n", "gorilla-0.4.0 | 13 KB | ##################################### | 100% \n", "gitpython-3.1.17 | 115 KB | ##################################### | 100% \n", "typing_extensions-3. | 25 KB | ##################################### | 100% \n", "pysocks-1.7.1 | 28 KB | ##################################### | 100% \n", "pandas-1.2.3 | 12.1 MB | ##################################### | 100% \n", "libgfortran-ng-9.3.0 | 22 KB | ##################################### | 100% \n", "docker-pycreds-0.4.0 | 11 KB | ##################################### | 100% \n", "docker-py-5.0.0 | 187 KB | ##################################### | 100% \n", "itsdangerous-2.0.1 | 17 KB | ##################################### | 100% \n", "configparser-5.0.2 | 21 KB | ##################################### | 100% \n", "sqlparse-0.4.1 | 34 KB | ##################################### | 100% \n", "werkzeug-2.0.1 | 219 KB | ##################################### | 100% \n", "alembic-1.6.3 | 114 KB | ##################################### | 100% \n", "tabulate-0.8.9 | 26 KB | ##################################### | 100% \n", "cloudpickle-1.6.0 | 22 KB | ##################################### | 100% \n", "asn1crypto-1.4.0 | 78 KB | ##################################### | 100% \n", "brotlipy-0.7.0 | 341 KB | ##################################### | 100% \n", "dataclasses-0.8 | 7 KB | ##################################### | 100% \n", "cryptography-3.4.7 | 1.1 MB | ##################################### | 100% \n", "pycparser-2.20 | 94 KB | ##################################### | 100% \n", "libprotobuf-3.17.0 | 2.5 MB | ##################################### | 100% \n", "simplejson-3.17.2 | 103 KB | ##################################### | 100% \n", "requests-2.25.1 | 51 KB | ##################################### | 100% \n", "pytz-2021.1 | 239 KB | ##################################### | 100% \n", "flask-2.0.1 | 70 KB | ##################################### | 100% \n", "numpy-1.20.3 | 5.8 MB | ##################################### | 100% \n", "markupsafe-2.0.1 | 22 KB | ##################################### | 100% \n", "idna-2.10 | 52 KB | ##################################### | 100% \n", "six-1.16.0 | 14 KB | ##################################### | 100% \n", "libgfortran5-9.3.0 | 2.0 MB | ##################################### | 100% \n", "liblapack-3.9.0 | 11 KB | ##################################### | 100% \n", "pyparsing-2.4.7 | 60 KB | ##################################### | 100% \n", "packaging-20.9 | 35 KB | ##################################### | 100% \n", "jinja2-3.0.1 | 99 KB | ##################################### | 100% \n", "chardet-4.0.0 | 205 KB | ##################################### | 100% \n", "protobuf-3.17.0 | 346 KB | ##################################### | 100% \n", "urllib3-1.26.4 | 99 KB | ##################################### | 100% \n", "pyyaml-5.4.1 | 193 KB | ##################################### | 100% \n", "databricks-cli-0.9.1 | 48 KB | ##################################### | 100% \n", "websocket-client-0.5 | 59 KB | ##################################### | 100% \n", "python-dateutil-2.8. | 220 KB | ##################################### | 100% \n", "greenlet-1.1.0 | 84 KB | ##################################### | 100% \n", "entrypoints-0.3 | 8 KB | ##################################### | 100% \n", "yaml-0.2.5 | 82 KB | ##################################### | 100% \n", "libblas-3.9.0 | 11 KB | ##################################### | 100% \n", "mlflow-1.2.0 | 3.4 MB | ##################################### | 100% \n", "cffi-1.14.5 | 227 KB | ##################################### | 100% \n", "python-editor-1.0.4 | 9 KB | ##################################### | 100% \n", "querystring_parser-1 | 10 KB | ##################################### | 100% \n", "Preparing transaction: done\n", "Verifying transaction: done\n", "Executing transaction: done\n", "#\n", "# To activate this environment, use\n", "#\n", "# $ conda activate p39-mlflow-pandas\n", "#\n", "# To deactivate an active environment, use\n", "#\n", "# $ conda deactivate\n", "\n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda create -y -n p39-mlflow-pandas python=3.9 pandas=1.2.3 mlflow" ] }, { "cell_type": "markdown", "id": "d8417e18", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Możemy podać jakie pakiety i w jakich wersjach mają być domyślnie dodawane do nowo tworzonych środowisk za pomocą sekcji [create_default_package](https://conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html#config-add-default-pkgs) w pliku [`~/.condarc`](https://conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html)" ] }, { "cell_type": "markdown", "id": "7a2adbfa", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "```\n", "create_default_packages:\n", " - python=3.9\n", " - pandas=1.2.3\n", " - mlflow\n", "```" ] }, { "cell_type": "markdown", "id": "68c9045a", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Doinstalowanie nowych pakietów może odbyć się poprzez:\n", " - `conda install mlflow` - wywołane w aktywowanym środowisku\n", " - `conda install -n myenv mlflow` - wywołane spoza atkywanego środowiska (instaluje mlflow w środowisku `myenv`)\n", " - `pip install` - jeśli w środowisku mamy zainstalowane polecenie `pip` - używamy `pip` tylko, jeśli pakiet nie jest dostępny w repozytoriach conda. Uwagi dotyczące używania `pip` razem z Conda: [link](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#using-pip-in-an-environment)" ] }, { "cell_type": "markdown", "id": "a6c3ee99", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### Klonowanie środowiska\n", "Istniejące środowisko można skopiować:" ] }, { "cell_type": "code", "execution_count": null, "id": "4363044b", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "conda create --name myclone --clone myenv\n" ] }, { "cell_type": "markdown", "id": "856b631d", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Eksportowanie środowisk\n", "- Definicję środowiska można wyeksportować do pliku `*.yml`, który może potem posłużyć do jego odtworzenia\n", "- Takie pliki są np. wykorzystywane przez MLflow" ] }, { "cell_type": "code", "execution_count": 26, "id": "3f497efb", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "name: myenv\n", "channels:\n", " - conda-forge\n", " - defaults\n", "dependencies:\n", " - _libgcc_mutex=0.1=conda_forge\n", " - _openmp_mutex=4.5=1_gnu\n", " - ca-certificates=2020.12.5=ha878542_0\n", " - certifi=2020.12.5=py39hf3d152e_1\n", " - ld_impl_linux-64=2.35.1=hea4e1c9_2\n", " - libffi=3.3=h58526e2_2\n", " - libgcc-ng=9.3.0=h2828fa1_19\n", " - libgomp=9.3.0=h2828fa1_19\n", " - libstdcxx-ng=9.3.0=h6de172a_19\n", " - ncurses=6.2=h58526e2_4\n", " - openssl=1.1.1k=h7f98852_0\n", " - pip=21.1.2=pyhd8ed1ab_0\n", " - python=3.9.4=hffdb5ce_0_cpython\n", " - python_abi=3.9=1_cp39\n", " - readline=8.1=h46c0cb4_0\n", " - setuptools=49.6.0=py39hf3d152e_3\n", " - sqlite=3.35.5=h74cdb3f_0\n", " - tk=8.6.10=h21135ba_1\n", " - tzdata=2021a=he74cb21_0\n", " - wheel=0.36.2=pyhd3deb0d_0\n", " - xz=5.2.5=h516909a_1\n", " - zlib=1.2.11=h516909a_1010\n", "prefix: /home/tomek/miniconda3/envs/myenv\n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda env export -n myenv" ] }, { "cell_type": "markdown", "id": "69054adb", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Normalnie, zapisalibyśmy wyni eksportu do pliku:" ] }, { "cell_type": "code", "execution_count": 31, "id": "08bb0906", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda env export -n myenv > myenv.yml" ] }, { "cell_type": "markdown", "id": "8d0fd480", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### Eksport między systemami\n", " - Jeśli chcemy zapeniwć, że nasze środowisko będzie można odtworzyć na innym systemie, musimy uyżyć flagi `--from-history`\n", " - Użycie tej flagi spowoduje eksport jedynie tych zależności, które explicite instalowaliśmy (bez ich zależności, które mogą być niekompatybilne między systemami)" ] }, { "cell_type": "code", "execution_count": 29, "id": "9bfbf736", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "name: base\n", "channels:\n", " - conda-forge\n", " - defaults\n", "dependencies:\n", " - conda\n", " - python=3.9\n", " - jupyter\n", " - rise\n", " - anaconda-navigator\n", "prefix: /home/tomek/miniconda3\n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda env export --from-history #Jeśli nie podamy nazwy środowiska, eksportujemy aktywne środowisko" ] }, { "cell_type": "markdown", "id": "52965351", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Tworzenie środowiska z pliku `*.yml`\n", "Mając plik `*.yml` wyeksportowany za pomocą `conda env export` albo stworzony/zmodyfikowane [ręcznie](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#create-env-file-manually), możemy utworzyć na jego podstawie środowisko:" ] }, { "cell_type": "code", "execution_count": 32, "id": "efe7bcd9", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting package metadata (repodata.json): done\n", "Solving environment: done\n", "Preparing transaction: done\n", "Verifying transaction: done\n", "Executing transaction: done\n", "#\n", "# To activate this environment, use\n", "#\n", "# $ conda activate myenv_from_file\n", "#\n", "# To deactivate an active environment, use\n", "#\n", "# $ conda deactivate\n", "\n", "\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "conda env create -n myenv_from_file -f myenv.yml" ] }, { "cell_type": "markdown", "id": "b88eb07c", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Zadania [10pkt]\n", "**Termin wykonania zadania: 22 maja 2024**\n", "1. Zainstaluj Anaconda lub Miniconda na swoim komputerze\n", "2. Stwórz środowisko zawierające wszystkie zależności wymagane przez stworzone na zajęciach skrypty/programy\n", "3. Wyeksportuj środowisko do pliku `environment.yml` i dodaj ten plik do repozytorium" ] } ], "metadata": { "author": "Tomasz Ziętkiewicz", "celltoolbar": "Slideshow", "email": "tomasz.zietkiewicz@amu.edu.pl", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "lang": "pl", "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" }, "slideshow": { "slide_type": "slide" }, "subtitle": "9.Python_srodowiska[laboratoria]", "title": "Inżynieria uczenia maszynowego", "year": "2021" }, "nbformat": 4, "nbformat_minor": 5 }