Introduction to Python Fundamentals – Lesson 1

It is Thursday morning in the Twin Cities of Minneapolis and St. Paul. Even though we are still officially in summer, the highs and lows for the days are going down. Hopefully we will have at least two more months of decent weather to walk outside.

As I mentioned in the last posts, we are going to start solving problems in Python. According to the PYPL Index, for results collected in August 2021, the most popular programming language is Python with a share of 31.47%. Java is second with a 19.14% share.

According to the IEEE Spectrum article “Top Programming Languages 2021 Python dominates as the de facto platform for new technologies” Python is number 1. I guess it is time to start solving problems in Python. In our next post I will start solving easy problems. We will then progress to medium and hard.

As you might already know, I like to refresh on tools I will be using. I decided to start watching “Introduction to Python Fundamentals: Lesson 01” by Paul Deitel published by Pearson Education, Inc. Since I am a member of the ACM (https://en.wikipedia.org/wiki/Association_for_Computing_Machinery) I have access to O’Reilly titles. If you work developing software, I strongly recommend you joining the ACM. They provide a wealth of information at your fingertips. For example, earlier today I attended the webinar “Quantum Computational Supremacy” by Scott Aaronson. I do not work with quantum computers, but enjoy learning about the technology. If you have a chance, watch the recording of the webinar which should be available in a few days.

The first thing you need to do to start programming in Python is to install a few items in your computer system. I followed the steps described in the on-line course on one of my Windows 10 computers. For this course the following items were specified:

o Getting the code for the course
o Install /Update Anaconda
o Package manager (Conda or PIP)
o Install jupyter-matplotlib (for interchange)
o Get a Twitter developer account
o Purchase one or two books (optional)

The instructor indicated a URI from which we should download the sample code for each chapter. I downloaded the .zip file and expanded it.

I installed Anaconda by visiting the following URI:  https://www.anaconda.com/products/individual-d, selecting Anaconda Individual Edition For Windows which included:  Python 3.8 • 64-Bit Graphical Installer • 477 MB.

In the course we will use `conda` to install and update packages. If there is an issue with a specific package, we can then try to using PIP. It is always better to update an Anaconda installation using `conda`.

Jupyter Notebooks provide a way to store in a single file code, data, and comments. It is the best way to store and distribute code so recipients can validate your results.

For some future exercises, we need to get a Twitter developer account to use their API to collect data. Years ago I had to get a Twitter account while taking a Machine Learning on-line course. I was able to get new credentials. Not sure when will they expire.

The instructor for this on-line course, Paul Deitel has published two related books. The first is “Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud” and the second “Python for Programmers: with Big Data and Artificial Intelligence Case Studies”. I purchased both books via Amazon. One arrived today and the other is expected tomorrow. I will start reading the first book tomorrow morning.

(base) C:\WINDOWS\system32>cd ..

(base) C:\Windows>cd ..

(base) C:\>conda update conda
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\johnc\anaconda3

  added / updated specs:
    - conda


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    conda-4.10.3               |   py38haa95532_0         2.9 MB
    xmltodict-0.12.0           |     pyhd3eb1b0_0          13 KB
    ------------------------------------------------------------
                                           Total:         2.9 MB

The following packages will be UPDATED:

  conda                               4.10.1-py38haa95532_1 --> 4.10.3-py38haa95532_0

The following packages will be DOWNGRADED:

  xmltodict                                     0.12.0-py_0 --> 0.12.0-pyhd3eb1b0_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
xmltodict-0.12.0     | 13 KB     | ############################################################################################################################## | 100%
conda-4.10.3         | 2.9 MB    | ############################################################################################################################## | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(base) C:\>

After installing Anaconda, one has to update it. The procedure is in a single command.

(base) C:\>conda update --all
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\johnc\anaconda3


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _anaconda_depends-2020.07  |           py38_0           6 KB
    anaconda-custom            |           py38_1          36 KB
    anaconda-client-1.8.0      |   py38haa95532_0         170 KB
    anaconda-navigator-2.0.4   |           py38_0         5.2 MB
    anaconda-project-0.10.1    |     pyhd3eb1b0_0         218 KB
    astroid-2.6.6              |   py38haa95532_0         314 KB
    astropy-4.3.1              |   py38hc7d831d_0         6.1 MB
    attrs-21.2.0               |     pyhd3eb1b0_0          46 KB
    babel-2.9.1                |     pyhd3eb1b0_0         5.5 MB
    bitarray-2.3.0             |   py38h2bbff1b_1         141 KB
    bleach-4.0.0               |     pyhd3eb1b0_0         113 KB
    bokeh-2.3.3                |   py38haa95532_0         5.8 MB
    ca-certificates-2021.7.5   |       haa95532_1         113 KB
    certifi-2021.5.30          |   py38haa95532_0         140 KB
    cffi-1.14.6                |   py38h2bbff1b_0         224 KB
    charset-normalizer-2.0.4   |     pyhd3eb1b0_0          35 KB
    click-8.0.1                |     pyhd3eb1b0_0          79 KB
    cloudpickle-1.6.0          |     pyhd3eb1b0_0          23 KB
    comtypes-1.1.10            |py38haa95532_1002         236 KB
    conda-build-3.21.5         |   py38haa95532_0         553 KB
    conda-pack-0.6.0           |     pyhd3eb1b0_0          29 KB
    contextlib2-0.6.0.post1    |     pyhd3eb1b0_0          13 KB
    curl-7.78.0                |       h86230a5_0         132 KB
    cython-0.29.24             |   py38hd77b12b_0         1.8 MB
    dask-2021.8.1              |     pyhd3eb1b0_0          18 KB
    dask-core-2021.8.1         |     pyhd3eb1b0_0         715 KB
    debugpy-1.4.1              |   py38hd77b12b_0         2.6 MB
    decorator-5.0.9            |     pyhd3eb1b0_0          12 KB
    diff-match-patch-20200713  |     pyhd3eb1b0_0          35 KB
    distributed-2021.8.1       |   py38haa95532_0         993 KB
    docutils-0.17.1            |   py38haa95532_1         696 KB
    et_xmlfile-1.1.0           |   py38haa95532_0          10 KB
    fonttools-4.25.0           |     pyhd3eb1b0_0         632 KB
    fsspec-2021.7.0            |     pyhd3eb1b0_0          91 KB
    gevent-21.8.0              |   py38h2bbff1b_1         1.4 MB
    gmpy2-2.0.8                |   py38h7edee0f_3         145 KB
    greenlet-1.1.1             |   py38hd77b12b_0          82 KB
    heapdict-1.0.1             |     pyhd3eb1b0_0           8 KB
    html5lib-1.1               |     pyhd3eb1b0_0          91 KB
    idna-3.2                   |     pyhd3eb1b0_0          48 KB
    intel-openmp-2021.3.0      |    haa95532_3372         2.0 MB
    intervaltree-3.1.0         |     pyhd3eb1b0_0          25 KB
    ipykernel-6.2.0            |   py38haa95532_1         190 KB
    ipython-7.26.0             |   py38hd4e2768_0         1.0 MB
    isort-5.9.3                |     pyhd3eb1b0_0          83 KB
    itsdangerous-2.0.1         |     pyhd3eb1b0_0          18 KB
    jdcal-1.4.1                |     pyhd3eb1b0_0          10 KB
    json5-0.9.6                |     pyhd3eb1b0_0          21 KB
    jsonschema-3.2.0           |     pyhd3eb1b0_2          47 KB
    jupyter_client-7.0.1       |     pyhd3eb1b0_0          88 KB
    jupyterlab-3.1.7           |     pyhd3eb1b0_0         3.6 MB
    jupyterlab_server-2.7.2    |     pyhd3eb1b0_0          44 KB
    keyring-23.0.1             |   py38haa95532_0          71 KB
    krb5-1.19.2                |       h5b6d351_0         697 KB
    libcurl-7.78.0             |       h86230a5_0         294 KB
    libllvm9-9.0.1             |       h21ff451_0          61 KB
    libxml2-2.9.12             |       h0ad7f3c_0         1.5 MB
    lz4-c-1.9.3                |       h2bbff1b_1         132 KB
    markupsafe-2.0.1           |   py38h2bbff1b_0          24 KB
    matplotlib-3.4.2           |   py38haa95532_0          27 KB
    matplotlib-base-3.4.2      |   py38h49ac443_0         5.6 MB
    matplotlib-inline-0.1.2    |     pyhd3eb1b0_2          12 KB
    menuinst-1.4.17            |   py38h59b6b97_0          96 KB
    mkl-2021.3.0               |     haa95532_524       113.7 MB
    mkl-service-2.4.0          |   py38h2bbff1b_0          51 KB
    mkl_random-1.2.2           |   py38hf11a4ad_0         225 KB
    more-itertools-8.8.0       |     pyhd3eb1b0_0          42 KB
    mpc-1.1.0                  |       h7edee0f_1         260 KB
    mpfr-4.0.2                 |       h62dcd97_1         1.5 MB
    mpir-3.0.0                 |       hec2e145_1         1.3 MB
    munkres-1.1.4              |             py_0          13 KB
    nbconvert-6.1.0            |   py38haa95532_0         500 KB
    networkx-2.6.2             |     pyhd3eb1b0_0         1.3 MB
    nltk-3.6.2                 |     pyhd3eb1b0_0         988 KB
    notebook-6.4.3             |   py38haa95532_0         4.5 MB
    numpy-1.20.3               |   py38ha4e8547_0          23 KB
    numpy-base-1.20.3          |   py38hc2deb75_0         4.2 MB
    olefile-0.46               |     pyhd3eb1b0_0          34 KB
    openjpeg-2.4.0             |       h4fc8c34_0         219 KB
    openssl-1.1.1l             |       h2bbff1b_0         4.8 MB
    packaging-21.0             |     pyhd3eb1b0_0          36 KB
    pandas-1.3.2               |   py38h6214cd6_0         8.6 MB
    path-16.0.0                |   py38haa95532_0          38 KB
    path.py-12.5.0             |       hd3eb1b0_0           4 KB
    pathlib2-2.3.6             |   py38haa95532_2          36 KB
    pathtools-0.1.2            |     pyhd3eb1b0_1           9 KB
    pillow-8.3.1               |   py38h4fa10fc_0         676 KB
    pkginfo-1.7.1              |   py38haa95532_0          60 KB
    prometheus_client-0.11.0   |     pyhd3eb1b0_0          47 KB
    prompt-toolkit-3.0.17      |     pyhca03da5_0         249 KB
    pydocstyle-6.1.1           |     pyhd3eb1b0_0          36 KB
    pyerfa-2.0.0               |   py38h2bbff1b_0         360 KB
    pygments-2.10.0            |     pyhd3eb1b0_0         725 KB
    pylint-2.9.6               |   py38haa95532_1         509 KB
    pyodbc-4.0.31              |   py38hd77b12b_0          68 KB
    pytest-6.2.4               |   py38haa95532_2         440 KB
    python-3.8.11              |       h6244533_1        16.0 MB
    python-dateutil-2.8.2      |     pyhd3eb1b0_0         233 KB
    pywin32-228                |   py38hbaba5e8_1         5.6 MB
    pyzmq-22.2.1               |   py38hd77b12b_1         622 KB
    qtconsole-5.1.0            |     pyhd3eb1b0_0          98 KB
    qtpy-1.10.0                |     pyhd3eb1b0_0          35 KB
    regex-2021.8.3             |   py38h2bbff1b_0         302 KB
    requests-2.26.0            |     pyhd3eb1b0_0          59 KB
    rope-0.19.0                |     pyhd3eb1b0_0         126 KB
    scikit-learn-0.24.2        |   py38hf11a4ad_1         4.8 MB
    scipy-1.7.1                |   py38hbe87c03_2        13.8 MB
    seaborn-0.11.2             |     pyhd3eb1b0_0         218 KB
    singledispatch-3.7.0       |  pyhd3eb1b0_1001          12 KB
    six-1.16.0                 |     pyhd3eb1b0_0          18 KB
    sortedcontainers-2.4.0     |     pyhd3eb1b0_0          26 KB
    sphinx-4.0.2               |     pyhd3eb1b0_0         1.2 MB
    sphinxcontrib-htmlhelp-2.0.0|     pyhd3eb1b0_0          32 KB
    sphinxcontrib-serializinghtml-1.1.5|     pyhd3eb1b0_0          25 KB
    sqlalchemy-1.4.22          |   py38h2bbff1b_0         1.8 MB
    sqlite-3.36.0              |       h2bbff1b_0         780 KB
    tblib-1.7.0                |     pyhd3eb1b0_0          15 KB
    testpath-0.5.0             |     pyhd3eb1b0_0          81 KB
    threadpoolctl-2.2.0        |     pyh0d69192_0          16 KB
    tqdm-4.62.1                |     pyhd3eb1b0_1          84 KB
    typing_extensions-3.10.0.0 |     pyhca03da5_0          27 KB
    urllib3-1.26.6             |     pyhd3eb1b0_1         112 KB
    wcwidth-0.2.5              |     pyhd3eb1b0_0          26 KB
    wheel-0.37.0               |     pyhd3eb1b0_1          33 KB
    xlsxwriter-3.0.1           |     pyhd3eb1b0_0         111 KB
    xlwings-0.24.7             |   py38haa95532_0         887 KB
    zeromq-4.3.4               |       hd77b12b_0         4.2 MB
    zipp-3.5.0                 |     pyhd3eb1b0_0          13 KB
    zope.interface-5.4.0       |   py38h2bbff1b_0         305 KB
    zstd-1.4.9                 |       h19a0ad4_0         478 KB
    ------------------------------------------------------------
                                           Total:       247.5 MB

The following NEW packages will be INSTALLED:

  _anaconda_depends  pkgs/main/win-64::_anaconda_depends-2020.07-py38_0
  charset-normalizer pkgs/main/noarch::charset-normalizer-2.0.4-pyhd3eb1b0_0
  conda-pack         pkgs/main/noarch::conda-pack-0.6.0-pyhd3eb1b0_0
  debugpy            pkgs/main/win-64::debugpy-1.4.1-py38hd77b12b_0
  fonttools          pkgs/main/noarch::fonttools-4.25.0-pyhd3eb1b0_0
  gmpy2              pkgs/main/win-64::gmpy2-2.0.8-py38h7edee0f_3
  libllvm9           pkgs/main/win-64::libllvm9-9.0.1-h21ff451_0
  matplotlib-inline  pkgs/main/noarch::matplotlib-inline-0.1.2-pyhd3eb1b0_2
  mpc                pkgs/main/win-64::mpc-1.1.0-h7edee0f_1
  mpfr               pkgs/main/win-64::mpfr-4.0.2-h62dcd97_1
  mpir               pkgs/main/win-64::mpir-3.0.0-hec2e145_1
  munkres            pkgs/main/noarch::munkres-1.1.4-py_0
  pathtools          pkgs/main/noarch::pathtools-0.1.2-pyhd3eb1b0_1

The following packages will be REMOVED:

  jupyter-packaging-0.7.12-pyhd3eb1b0_0

The following packages will be UPDATED:

  anaconda-client                              1.7.2-py38_0 --> 1.8.0-py38haa95532_0
  anaconda-navigator                           2.0.3-py38_0 --> 2.0.4-py38_0
  anaconda-project                       0.9.1-pyhd3eb1b0_1 --> 0.10.1-pyhd3eb1b0_0
  astroid                                2.5-py38haa95532_1 --> 2.6.6-py38haa95532_0
  astropy                              4.2.1-py38h2bbff1b_1 --> 4.3.1-py38hc7d831d_0
  attrs                                 20.3.0-pyhd3eb1b0_0 --> 21.2.0-pyhd3eb1b0_0
  babel                                  2.9.0-pyhd3eb1b0_0 --> 2.9.1-pyhd3eb1b0_0
  bitarray                             1.9.2-py38h2bbff1b_1 --> 2.3.0-py38h2bbff1b_1
  bleach                                 3.3.0-pyhd3eb1b0_0 --> 4.0.0-pyhd3eb1b0_0
  bokeh                                2.3.2-py38haa95532_0 --> 2.3.3-py38haa95532_0
  ca-certificates                      2021.4.13-haa95532_1 --> 2021.7.5-haa95532_1
  certifi                          2020.12.5-py38haa95532_0 --> 2021.5.30-py38haa95532_0
  cffi                                1.14.5-py38hcd4344a_0 --> 1.14.6-py38h2bbff1b_0
  click                                  7.1.2-pyhd3eb1b0_0 --> 8.0.1-pyhd3eb1b0_0
  comtypes                          1.1.9-py38haa95532_1002 --> 1.1.10-py38haa95532_1002
  conda-build                         3.21.4-py38haa95532_0 --> 3.21.5-py38haa95532_0
  curl                                    7.71.1-h2a8f88b_1 --> 7.78.0-h86230a5_0
  cython                             0.29.23-py38hd77b12b_0 --> 0.29.24-py38hd77b12b_0
  dask                                2021.4.0-pyhd3eb1b0_0 --> 2021.8.1-pyhd3eb1b0_0
  dask-core                           2021.4.0-pyhd3eb1b0_0 --> 2021.8.1-pyhd3eb1b0_0
  decorator                              5.0.6-pyhd3eb1b0_0 --> 5.0.9-pyhd3eb1b0_0
  distributed                       2021.4.0-py38haa95532_0 --> 2021.8.1-py38haa95532_0
  docutils                              0.17-py38haa95532_1 --> 0.17.1-py38haa95532_1
  et_xmlfile         pkgs/main/noarch::et_xmlfile-1.0.1-py~ --> pkgs/main/win-64::et_xmlfile-1.1.0-py38haa95532_0
  fsspec                                 0.9.0-pyhd3eb1b0_0 --> 2021.7.0-pyhd3eb1b0_0
  gevent                              21.1.2-py38h2bbff1b_1 --> 21.8.0-py38h2bbff1b_1
  greenlet                             1.0.0-py38hd77b12b_2 --> 1.1.1-py38hd77b12b_0
  idna                                    2.10-pyhd3eb1b0_0 --> 3.2-pyhd3eb1b0_0
  intel-openmp                        2021.2.0-haa95532_616 --> 2021.3.0-haa95532_3372
  ipykernel                            5.3.4-py38h5ca1d4c_0 --> 6.2.0-py38haa95532_1
  ipython                             7.22.0-py38hd4e2768_0 --> 7.26.0-py38hd4e2768_0
  isort                                  5.8.0-pyhd3eb1b0_0 --> 5.9.3-pyhd3eb1b0_0
  itsdangerous                           1.1.0-pyhd3eb1b0_0 --> 2.0.1-pyhd3eb1b0_0
  json5                                          0.9.5-py_0 --> 0.9.6-pyhd3eb1b0_0
  jupyter_client                        6.1.12-pyhd3eb1b0_0 --> 7.0.1-pyhd3eb1b0_0
  jupyterlab                            3.0.14-pyhd3eb1b0_1 --> 3.1.7-pyhd3eb1b0_0
  jupyterlab_server                      2.4.0-pyhd3eb1b0_0 --> 2.7.2-pyhd3eb1b0_0
  keyring                             22.3.0-py38haa95532_0 --> 23.0.1-py38haa95532_0
  krb5                                    1.18.2-hc04afaa_0 --> 1.19.2-h5b6d351_0
  libcurl                                 7.71.1-h2a8f88b_1 --> 7.78.0-h86230a5_0
  libxml2                                 2.9.10-hb89e7f3_3 --> 2.9.12-h0ad7f3c_0
  lz4-c                                    1.9.3-h2bbff1b_0 --> 1.9.3-h2bbff1b_1
  markupsafe                           1.1.1-py38he774522_0 --> 2.0.1-py38h2bbff1b_0
  matplotlib                           3.3.4-py38haa95532_0 --> 3.4.2-py38haa95532_0
  matplotlib-base                      3.3.4-py38h49ac443_0 --> 3.4.2-py38h49ac443_0
  menuinst                            1.4.16-py38he774522_1 --> 1.4.17-py38h59b6b97_0
  mkl                                 2021.2.0-haa95532_296 --> 2021.3.0-haa95532_524
  mkl-service                          2.3.0-py38h2bbff1b_1 --> 2.4.0-py38h2bbff1b_0
  mkl_random                           1.2.1-py38hf11a4ad_2 --> 1.2.2-py38hf11a4ad_0
  more-itertools                         8.7.0-pyhd3eb1b0_0 --> 8.8.0-pyhd3eb1b0_0
  nbconvert                                    6.0.7-py38_0 --> 6.1.0-py38haa95532_0
  networkx                                         2.5-py_0 --> 2.6.2-pyhd3eb1b0_0
  nltk                                   3.6.1-pyhd3eb1b0_0 --> 3.6.2-pyhd3eb1b0_0
  notebook                             6.3.0-py38haa95532_0 --> 6.4.3-py38haa95532_0
  numpy                               1.20.1-py38h34a8a5c_0 --> 1.20.3-py38ha4e8547_0
  numpy-base                          1.20.1-py38haf7ebc8_0 --> 1.20.3-py38hc2deb75_0
  openjpeg                                 2.3.0-h5ec785f_1 --> 2.4.0-h4fc8c34_0
  openssl                                 1.1.1k-h2bbff1b_0 --> 1.1.1l-h2bbff1b_0
  packaging                               20.9-pyhd3eb1b0_0 --> 21.0-pyhd3eb1b0_0
  pandas                               1.2.4-py38hd77b12b_0 --> 1.3.2-py38h6214cd6_0
  path                                15.1.2-py38haa95532_0 --> 16.0.0-py38haa95532_0
  pathlib2                             2.3.5-py38haa95532_2 --> 2.3.6-py38haa95532_2
  pillow                               8.2.0-py38h4fa10fc_0 --> 8.3.1-py38h4fa10fc_0
  pkginfo                              1.7.0-py38haa95532_0 --> 1.7.1-py38haa95532_0
  prometheus_client                     0.10.1-pyhd3eb1b0_0 --> 0.11.0-pyhd3eb1b0_0
  pydocstyle                             6.0.0-pyhd3eb1b0_0 --> 6.1.1-pyhd3eb1b0_0
  pyerfa                               1.7.3-py38h2bbff1b_0 --> 2.0.0-py38h2bbff1b_0
  pygments                               2.8.1-pyhd3eb1b0_0 --> 2.10.0-pyhd3eb1b0_0
  pylint                               2.7.4-py38haa95532_1 --> 2.9.6-py38haa95532_1
  pyodbc                              4.0.30-py38ha925a31_0 --> 4.0.31-py38hd77b12b_0
  pytest                               6.2.3-py38haa95532_2 --> 6.2.4-py38haa95532_2
  python                                   3.8.8-hdbf39b2_5 --> 3.8.11-h6244533_1
  python-dateutil                        2.8.1-pyhd3eb1b0_0 --> 2.8.2-pyhd3eb1b0_0
  pywin32                                227-py38he774522_1 --> 228-py38hbaba5e8_1
  pyzmq                               20.0.0-py38hd77b12b_1 --> 22.2.1-py38hd77b12b_1
  qtconsole                              5.0.3-pyhd3eb1b0_0 --> 5.1.0-pyhd3eb1b0_0
  qtpy                                           1.9.0-py_0 --> 1.10.0-pyhd3eb1b0_0
  regex                             2021.4.4-py38h2bbff1b_0 --> 2021.8.3-py38h2bbff1b_0
  requests                              2.25.1-pyhd3eb1b0_0 --> 2.26.0-pyhd3eb1b0_0
  rope                                          0.18.0-py_0 --> 0.19.0-pyhd3eb1b0_0
  scikit-learn                        0.24.1-py38hf11a4ad_0 --> 0.24.2-py38hf11a4ad_1
  scipy                                1.6.2-py38h66253e8_1 --> 1.7.1-py38hbe87c03_2
  seaborn                               0.11.1-pyhd3eb1b0_0 --> 0.11.2-pyhd3eb1b0_0
  singledispatch                      3.6.1-pyhd3eb1b0_1001 --> 3.7.0-pyhd3eb1b0_1001
  six                pkgs/main/win-64::six-1.15.0-py38haa9~ --> pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
  sortedcontainers                       2.3.0-pyhd3eb1b0_0 --> 2.4.0-pyhd3eb1b0_0
  sphinx                                 4.0.1-pyhd3eb1b0_0 --> 4.0.2-pyhd3eb1b0_0
  sphinxcontrib-htm~                     1.0.3-pyhd3eb1b0_0 --> 2.0.0-pyhd3eb1b0_0
  sphinxcontrib-ser~                     1.1.4-pyhd3eb1b0_0 --> 1.1.5-pyhd3eb1b0_0
  sqlalchemy                           1.4.7-py38h2bbff1b_0 --> 1.4.22-py38h2bbff1b_0
  sqlite                                  3.35.4-h2bbff1b_0 --> 3.36.0-h2bbff1b_0
  testpath                               0.4.4-pyhd3eb1b0_0 --> 0.5.0-pyhd3eb1b0_0
  threadpoolctl                          2.1.0-pyh5ca1d4c_0 --> 2.2.0-pyh0d69192_0
  tqdm                                  4.59.0-pyhd3eb1b0_1 --> 4.62.1-pyhd3eb1b0_1
  typing_extensions                    3.7.4.3-pyha847dfd_0 --> 3.10.0.0-pyhca03da5_0
  urllib3                               1.26.4-pyhd3eb1b0_0 --> 1.26.6-pyhd3eb1b0_1
  wheel                                 0.36.2-pyhd3eb1b0_0 --> 0.37.0-pyhd3eb1b0_1
  xlsxwriter                             1.3.8-pyhd3eb1b0_0 --> 3.0.1-pyhd3eb1b0_0
  xlwings                             0.23.0-py38haa95532_0 --> 0.24.7-py38haa95532_0
  zeromq                                   4.3.3-ha925a31_3 --> 4.3.4-hd77b12b_0
  zipp                                   3.4.1-pyhd3eb1b0_0 --> 3.5.0-pyhd3eb1b0_0
  zope.interface                       5.3.0-py38h2bbff1b_0 --> 5.4.0-py38h2bbff1b_0
  zstd                                     1.4.5-h04227a9_0 --> 1.4.9-h19a0ad4_0

The following packages will be DOWNGRADED:

  anaconda                                   2021.05-py38_0 --> custom-py38_1
  cloudpickle                                    1.6.0-py_0 --> 1.6.0-pyhd3eb1b0_0
  contextlib2                              0.6.0.post1-py_0 --> 0.6.0.post1-pyhd3eb1b0_0
  diff-match-patch                            20200713-py_0 --> 20200713-pyhd3eb1b0_0
  heapdict                                       1.0.1-py_0 --> 1.0.1-pyhd3eb1b0_0
  html5lib                                         1.1-py_0 --> 1.1-pyhd3eb1b0_0
  intervaltree                                   3.1.0-py_0 --> 3.1.0-pyhd3eb1b0_0
  jdcal                                          1.4.1-py_0 --> 1.4.1-pyhd3eb1b0_0
  jsonschema                                     3.2.0-py_2 --> 3.2.0-pyhd3eb1b0_2
  olefile                                         0.46-py_0 --> 0.46-pyhd3eb1b0_0
  path.py                                          12.5.0-0 --> 12.5.0-hd3eb1b0_0
  prompt-toolkit                        3.0.17-pyh06a4308_0 --> 3.0.17-pyhca03da5_0
  tblib                                          1.7.0-py_0 --> 1.7.0-pyhd3eb1b0_0
  wcwidth                                        0.2.5-py_0 --> 0.2.5-pyhd3eb1b0_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
jupyter_client-7.0.1 | 88 KB     | ############################################################################################################################## | 100%
six-1.16.0           | 18 KB     | ############################################################################################################################## | 100%
requests-2.26.0      | 59 KB     | ############################################################################################################################## | 100%
menuinst-1.4.17      | 96 KB     | ############################################################################################################################## | 100%
pandas-1.3.2         | 8.6 MB    | ############################################################################################################################## | 100%
more-itertools-8.8.0 | 42 KB     | ############################################################################################################################## | 100%
greenlet-1.1.1       | 82 KB     | ############################################################################################################################## | 100%
decorator-5.0.9      | 12 KB     | ############################################################################################################################## | 100%
markupsafe-2.0.1     | 24 KB     | ############################################################################################################################## | 100%
matplotlib-3.4.2     | 27 KB     | ############################################################################################################################## | 100%
_anaconda_depends-20 | 6 KB      | ############################################################################################################################## | 100%
nltk-3.6.2           | 988 KB    | ############################################################################################################################## | 100%
typing_extensions-3. | 27 KB     | ############################################################################################################################## | 100%
distributed-2021.8.1 | 993 KB    | ############################################################################################################################## | 100%
ipykernel-6.2.0      | 190 KB    | ############################################################################################################################## | 100%
diff-match-patch-202 | 35 KB     | ############################################################################################################################## | 100%
openssl-1.1.1l       | 4.8 MB    | ############################################################################################################################## | 100%
idna-3.2             | 48 KB     | ############################################################################################################################## | 100%
pathtools-0.1.2      | 9 KB      | ############################################################################################################################## | 100%
wcwidth-0.2.5        | 26 KB     | ############################################################################################################################## | 100%
anaconda-custom      | 36 KB     | ############################################################################################################################## | 100%
mkl_random-1.2.2     | 225 KB    | ############################################################################################################################## | 100%
html5lib-1.1         | 91 KB     | ############################################################################################################################## | 100%
curl-7.78.0          | 132 KB    | ############################################################################################################################## | 100%
pydocstyle-6.1.1     | 36 KB     | ############################################################################################################################## | 100%
dask-2021.8.1        | 18 KB     | ############################################################################################################################## | 100%
packaging-21.0       | 36 KB     | ############################################################################################################################## | 100%
zope.interface-5.4.0 | 305 KB    | ############################################################################################################################## | 100%
scikit-learn-0.24.2  | 4.8 MB    | ############################################################################################################################## | 100%
cffi-1.14.6          | 224 KB    | ############################################################################################################################## | 100%
bleach-4.0.0         | 113 KB    | ############################################################################################################################## | 100%
pyerfa-2.0.0         | 360 KB    | ############################################################################################################################## | 100%
heapdict-1.0.1       | 8 KB      | ############################################################################################################################## | 100%
qtconsole-5.1.0      | 98 KB     | ############################################################################################################################## | 100%
jupyterlab-3.1.7     | 3.6 MB    | ############################################################################################################################## | 100%
sqlalchemy-1.4.22    | 1.8 MB    | ############################################################################################################################## | 100%
rope-0.19.0          | 126 KB    | ############################################################################################################################## | 100%
sortedcontainers-2.4 | 26 KB     | ############################################################################################################################## | 100%
xlwings-0.24.7       | 887 KB    | ############################################################################################################################## | 100%
wheel-0.37.0         | 33 KB     | ############################################################################################################################## | 100%
comtypes-1.1.10      | 236 KB    | ############################################################################################################################## | 100%
pillow-8.3.1         | 676 KB    | ############################################################################################################################## | 100%
seaborn-0.11.2       | 218 KB    | ############################################################################################################################## | 100%
debugpy-1.4.1        | 2.6 MB    | ############################################################################################################################## | 100%
cloudpickle-1.6.0    | 23 KB     | ############################################################################################################################## | 100%
json5-0.9.6          | 21 KB     | ############################################################################################################################## | 100%
conda-pack-0.6.0     | 29 KB     | ############################################################################################################################## | 100%
krb5-1.19.2          | 697 KB    | ############################################################################################################################## | 100%
libxml2-2.9.12       | 1.5 MB    | ############################################################################################################################## | 100%
munkres-1.1.4        | 13 KB     | ############################################################################################################################## | 100%
threadpoolctl-2.2.0  | 16 KB     | ############################################################################################################################## | 100%
path.py-12.5.0       | 4 KB      | ############################################################################################################################## | 100%
qtpy-1.10.0          | 35 KB     | ############################################################################################################################## | 100%
pylint-2.9.6         | 509 KB    | ############################################################################################################################## | 100%
python-3.8.11        | 16.0 MB   | ############################################################################################################################## | 100%
anaconda-project-0.1 | 218 KB    | ############################################################################################################################## | 100%
notebook-6.4.3       | 4.5 MB    | ############################################################################################################################## | 100%
keyring-23.0.1       | 71 KB     | ############################################################################################################################## | 100%
pywin32-228          | 5.6 MB    | ############################################################################################################################## | 100%
fonttools-4.25.0     | 632 KB    | ############################################################################################################################## | 100%
testpath-0.5.0       | 81 KB     | ############################################################################################################################## | 100%
prompt-toolkit-3.0.1 | 249 KB    | ############################################################################################################################## | 100%
scipy-1.7.1          | 13.8 MB   | ############################################################################################################################## | 100%
mpfr-4.0.2           | 1.5 MB    | ############################################################################################################################## | 100%
libcurl-7.78.0       | 294 KB    | ############################################################################################################################## | 100%
dask-core-2021.8.1   | 715 KB    | ############################################################################################################################## | 100%
bokeh-2.3.3          | 5.8 MB    | ############################################################################################################################## | 100%
zeromq-4.3.4         | 4.2 MB    | ############################################################################################################################## | 100%
gmpy2-2.0.8          | 145 KB    | ############################################################################################################################## | 100%
fsspec-2021.7.0      | 91 KB     | ############################################################################################################################## | 100%
gevent-21.8.0        | 1.4 MB    | ############################################################################################################################## | 100%
singledispatch-3.7.0 | 12 KB     | ############################################################################################################################## | 100%
path-16.0.0          | 38 KB     | ############################################################################################################################## | 100%
ipython-7.26.0       | 1.0 MB    | ############################################################################################################################## | 100%
sphinxcontrib-htmlhe | 32 KB     | ############################################################################################################################## | 100%
libllvm9-9.0.1       | 61 KB     | ############################################################################################################################## | 100%
et_xmlfile-1.1.0     | 10 KB     | ############################################################################################################################## | 100%
bitarray-2.3.0       | 141 KB    | ############################################################################################################################## | 100%
itsdangerous-2.0.1   | 18 KB     | ############################################################################################################################## | 100%
lz4-c-1.9.3          | 132 KB    | ############################################################################################################################## | 100%
jsonschema-3.2.0     | 47 KB     | ############################################################################################################################## | 100%
pyzmq-22.2.1         | 622 KB    | ############################################################################################################################## | 100%
certifi-2021.5.30    | 140 KB    | ############################################################################################################################## | 100%
isort-5.9.3          | 83 KB     | ############################################################################################################################## | 100%
ca-certificates-2021 | 113 KB    | ############################################################################################################################## | 100%
mkl-service-2.4.0    | 51 KB     | ############################################################################################################################## | 100%
pytest-6.2.4         | 440 KB    | ############################################################################################################################## | 100%
mpir-3.0.0           | 1.3 MB    | ############################################################################################################################## | 100%
pyodbc-4.0.31        | 68 KB     | ############################################################################################################################## | 100%
olefile-0.46         | 34 KB     | ############################################################################################################################## | 100%
pkginfo-1.7.1        | 60 KB     | ############################################################################################################################## | 100%
jdcal-1.4.1          | 10 KB     | ############################################################################################################################## | 100%
intervaltree-3.1.0   | 25 KB     | ############################################################################################################################## | 100%
pathlib2-2.3.6       | 36 KB     | ############################################################################################################################## | 100%
charset-normalizer-2 | 35 KB     | ############################################################################################################################## | 100%
nbconvert-6.1.0      | 500 KB    | ############################################################################################################################## | 100%
numpy-base-1.20.3    | 4.2 MB    | ############################################################################################################################## | 100%
jupyterlab_server-2. | 44 KB     | ############################################################################################################################## | 100%
mkl-2021.3.0         | 113.7 MB  | ############################################################################################################################## | 100%
attrs-21.2.0         | 46 KB     | ############################################################################################################################## | 100%
sqlite-3.36.0        | 780 KB    | ############################################################################################################################## | 100%
openjpeg-2.4.0       | 219 KB    | ############################################################################################################################## | 100%
astropy-4.3.1        | 6.1 MB    | ############################################################################################################################## | 100%
anaconda-client-1.8. | 170 KB    | ############################################################################################################################## | 100%
mpc-1.1.0            | 260 KB    | ############################################################################################################################## | 100%
intel-openmp-2021.3. | 2.0 MB    | ############################################################################################################################## | 100%
matplotlib-base-3.4. | 5.6 MB    | ############################################################################################################################## | 100%
python-dateutil-2.8. | 233 KB    | ############################################################################################################################## | 100%
contextlib2-0.6.0.po | 13 KB     | ############################################################################################################################## | 100%
matplotlib-inline-0. | 12 KB     | ############################################################################################################################## | 100%
sphinx-4.0.2         | 1.2 MB    | ############################################################################################################################## | 100%
tblib-1.7.0          | 15 KB     | ############################################################################################################################## | 100%
prometheus_client-0. | 47 KB     | ############################################################################################################################## | 100%
zipp-3.5.0           | 13 KB     | ############################################################################################################################## | 100%
regex-2021.8.3       | 302 KB    | ############################################################################################################################## | 100%
pygments-2.10.0      | 725 KB    | ############################################################################################################################## | 100%
astroid-2.6.6        | 314 KB    | ############################################################################################################################## | 100%
numpy-1.20.3         | 23 KB     | ############################################################################################################################## | 100%
tqdm-4.62.1          | 84 KB     | ############################################################################################################################## | 100%
click-8.0.1          | 79 KB     | ############################################################################################################################## | 100%
xlsxwriter-3.0.1     | 111 KB    | ############################################################################################################################## | 100%
docutils-0.17.1      | 696 KB    | ############################################################################################################################## | 100%
urllib3-1.26.6       | 112 KB    | ############################################################################################################################## | 100%
conda-build-3.21.5   | 553 KB    | ############################################################################################################################## | 100%
babel-2.9.1          | 5.5 MB    | ############################################################################################################################## | 100%
networkx-2.6.2       | 1.3 MB    | ############################################################################################################################## | 100%
zstd-1.4.9           | 478 KB    | ############################################################################################################################## | 100%
anaconda-navigator-2 | 5.2 MB    | ############################################################################################################################## | 100%
sphinxcontrib-serial | 25 KB     | ############################################################################################################################## | 100%
cython-0.29.24       | 1.8 MB    | ############################################################################################################################## | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: / DEBUG menuinst_win32:__init__(198): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\johnc\anaconda3', env_name: 'None', mode: 'user', used_mode: 'user'
DEBUG menuinst_win32:create(323): Shortcut cmd is C:\Users\johnc\anaconda3\python.exe, args are ['C:\\Users\\johnc\\anaconda3\\cwp.py', 'C:\\Users\\johnc\\anaconda3', 'C:\\Users\\johnc\\anaconda3\\python.exe', 'C:\\Users\\johnc\\anaconda3\\Scripts\\jupyter-notebook-script.py', '"%USERPROFILE%/"']
DEBUG menuinst_win32:__init__(198): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\johnc\anaconda3', env_name: 'None', mode: 'user', used_mode: 'user'
DEBUG menuinst_win32:create(323): Shortcut cmd is C:\Users\johnc\anaconda3\python.exe, args are ['C:\\Users\\johnc\\anaconda3\\cwp.py', 'C:\\Users\\johnc\\anaconda3', 'C:\\Users\\johnc\\anaconda3\\python.exe', 'C:\\Users\\johnc\\anaconda3\\Scripts\\jupyter-notebook-script.py', '"%USERPROFILE%/"']
DEBUG menuinst_win32:__init__(198): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\johnc\anaconda3', env_name: 'None', mode: 'user', used_mode: 'user'
DEBUG menuinst_win32:create(323): Shortcut cmd is C:\Users\johnc\anaconda3\pythonw.exe, args are ['C:\\Users\\johnc\\anaconda3\\cwp.py', 'C:\\Users\\johnc\\anaconda3', 'C:\\Users\\johnc\\anaconda3\\pythonw.exe', 'C:\\Users\\johnc\\anaconda3\\Scripts\\anaconda-navigator-script.py']
DEBUG menuinst_win32:__init__(198): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\johnc\anaconda3', env_name: 'None', mode: 'user', used_mode: 'user'
DEBUG menuinst_win32:create(323): Shortcut cmd is C:\Users\johnc\anaconda3\pythonw.exe, args are ['C:\\Users\\johnc\\anaconda3\\cwp.py', 'C:\\Users\\johnc\\anaconda3', 'C:\\Users\\johnc\\anaconda3\\pythonw.exe', 'C:\\Users\\johnc\\anaconda3\\Scripts\\anaconda-navigator-script.py']
-

    Windows 64-bit packages of scikit-learn can be accelerated using scikit-learn-intelex.
    More details are available here: https://intel.github.io/scikit-learn-intelex

    For example:

        $ conda install scikit-learn-intelex
        $ python -m sklearnex my_application.py


\ DEBUG menuinst_win32:__init__(198): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\johnc\anaconda3', env_name: 'None', mode: 'user', used_mode: 'user'
DEBUG menuinst_win32:create(323): Shortcut cmd is C:\Users\johnc\anaconda3\pythonw.exe, args are ['C:\\Users\\johnc\\anaconda3\\cwp.py', 'C:\\Users\\johnc\\anaconda3', 'C:\\Users\\johnc\\anaconda3\\pythonw.exe', 'C:\\Users\\johnc\\anaconda3\\Scripts\\anaconda-navigator-script.py']
| DEBUG menuinst_win32:__init__(198): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\johnc\anaconda3', env_name: 'None', mode: 'user', used_mode: 'user'
DEBUG menuinst_win32:create(323): Shortcut cmd is C:\Users\johnc\anaconda3\python.exe, args are ['C:\\Users\\johnc\\anaconda3\\cwp.py', 'C:\\Users\\johnc\\anaconda3', 'C:\\Users\\johnc\\anaconda3\\python.exe', 'C:\\Users\\johnc\\anaconda3\\Scripts\\jupyter-notebook-script.py', '"%USERPROFILE%/"']
done

(base) C:\;

We then need to update all the packages associated with the Anaconda installation.

We need to install the jupyter-matplotlib and associated packages.

To use animations in Jupiter Notebooks install ipympl (package)
	o conda install -c conda-forge ipympl
	o conda install nodejs
	o jupyter labextension install @jupyter-widgets/jupyterlab-manager
	o jupyter labextension install jupyter-matplotlib

To install the ipympl package I issue the following command:

(base) C:\>conda install -c conda-forge ipympl
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\johnc\anaconda3

  added / updated specs:
    - ipympl


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    ca-certificates-2021.5.30  |       h5b45459_0         171 KB  conda-forge
    certifi-2021.5.30          |   py38haa244fe_0         142 KB  conda-forge
    conda-4.10.3               |   py38haa244fe_0         3.1 MB  conda-forge
    ipympl-0.7.0               |     pyhd8ed1ab_0          50 KB  conda-forge
    openssl-1.1.1l             |       h8ffe710_0         5.7 MB  conda-forge
    python_abi-3.8             |           2_cp38           4 KB  conda-forge
    ------------------------------------------------------------
                                           Total:         9.2 MB

The following NEW packages will be INSTALLED:

  ipympl             conda-forge/noarch::ipympl-0.7.0-pyhd8ed1ab_0
  python_abi         conda-forge/win-64::python_abi-3.8-2_cp38

The following packages will be SUPERSEDED by a higher-priority channel:

  ca-certificates    pkgs/main::ca-certificates-2021.7.5-h~ --> conda-forge::ca-certificates-2021.5.30-h5b45459_0
  certifi            pkgs/main::certifi-2021.5.30-py38haa9~ --> conda-forge::certifi-2021.5.30-py38haa244fe_0
  conda              pkgs/main::conda-4.10.3-py38haa95532_0 --> conda-forge::conda-4.10.3-py38haa244fe_0
  openssl              pkgs/main::openssl-1.1.1l-h2bbff1b_0 --> conda-forge::openssl-1.1.1l-h8ffe710_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
python_abi-3.8       | 4 KB      | ############################################################################################################################## | 100%
conda-4.10.3         | 3.1 MB    | ############################################################################################################################## | 100%
ipympl-0.7.0         | 50 KB     | ############################################################################################################################## | 100%
ca-certificates-2021 | 171 KB    | ############################################################################################################################## | 100%
openssl-1.1.1l       | 5.7 MB    | ############################################################################################################################## | 100%
certifi-2021.5.30    | 142 KB    | ############################################################################################################################## | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(base) C:\>

For node.js:

(base) C:\>conda install nodejs
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\johnc\anaconda3

  added / updated specs:
    - nodejs


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    nodejs-16.6.1              |       haa95532_0        19.3 MB
    ------------------------------------------------------------
                                           Total:        19.3 MB

The following NEW packages will be INSTALLED:

  nodejs             pkgs/main/win-64::nodejs-16.6.1-haa95532_0

The following packages will be UPDATED:

  ca-certificates    conda-forge::ca-certificates-2021.5.3~ --> pkgs/main::ca-certificates-2021.7.5-haa95532_1

The following packages will be SUPERSEDED by a higher-priority channel:

  certifi            conda-forge::certifi-2021.5.30-py38ha~ --> pkgs/main::certifi-2021.5.30-py38haa95532_0
  conda              conda-forge::conda-4.10.3-py38haa244f~ --> pkgs/main::conda-4.10.3-py38haa95532_0
  openssl            conda-forge::openssl-1.1.1l-h8ffe710_0 --> pkgs/main::openssl-1.1.1l-h2bbff1b_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
nodejs-16.6.1        | 19.3 MB   | ############################################################################################################################## | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(base) C:\>

From the jupyter labextension widgets:

(base) C:\>jupyter labextension install @jupyter-widgets/jupyterlab-manager
Building jupyterlab assets (production, minimized)
/
(base) C:\>

Finally for the jupyter-matplotlib:

(base) C:\>jupyter labextension install jupyter-matplotlib
Building jupyterlab assets (production, minimized)
-

The Pythons is a REPL IDE which allows one to enter Python statements and verify the results immediately. It is a great tool to use when developing Python code.

# **** from a conda console ****
(base) C:\>ipython
Python 3.8.11 (default, Aug  6 2021, 09:57:55) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.26.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: 45 + 72
Out[1]: 117

In [2]: 5 * (12.7 - 4) / 2
Out[2]: 21.75

In [3]: 5 * 12.7 - 4 / 2
Out[3]: 61.5

In [4]: 5 * (3 + 4)
Out[4]: 35

In [5]: 5 * 3 + 4
Out[5]: 19

In [6]:
Do you really want to exit ([y]/n)? y

(base) C:\>ipython
Python 3.8.11 (default, Aug  6 2021, 09:57:55) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.26.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: exit

(base) C:\>ipython
Python 3.8.11 (default, Aug  6 2021, 09:57:55) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.26.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: exit()

(base) C:\>ipython
Python 3.8.11 (default, Aug  6 2021, 09:57:55) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.26.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]:
Do you really want to exit ([y]/n)? y

(base) C:\>

The ipython IDE is started from the Anaconda console.

A few simple arithmetic operations are issued.

We then test different ways to exit the ipython IDE.

To use the Jupyter notebook we must first open a web browser. If you already have a web browser open, the notebook will appear as an additional tab. I personally like to work with a fresh instance.

Once the web browser is open, we may start the Jupyter Lab.

(base) C:\>cd "C:\Documents\Python For Programmers\IntroToPython-master\examples\ch01"

(base) C:\Documents\Python For Programmers\IntroToPython-master\examples\ch01>jupyter lab
[I 2021-09-09 08:11:45.971 ServerApp] jupyterlab | extension was successfully linked.
[W 2021-09-09 08:11:45.989 ServerApp] The 'min_open_files_limit' trait of a ServerApp instance expected an int, not the NoneType None.
[I 2021-09-09 08:11:46.028 LabApp] JupyterLab extension loaded from C:\Users\johnc\anaconda3\lib\site-packages\jupyterlab
[I 2021-09-09 08:11:46.028 LabApp] JupyterLab application directory is C:\Users\johnc\anaconda3\share\jupyter\lab
[I 2021-09-09 08:11:46.031 ServerApp] jupyterlab | extension was successfully loaded.
[I 2021-09-09 08:11:46.313 ServerApp] nbclassic | extension was successfully loaded.
[I 2021-09-09 08:11:46.313 ServerApp] Serving notebooks from local directory: C:\Documents\Python For Programmers\IntroToPython-master\examples\ch01
[I 2021-09-09 08:11:46.314 ServerApp] Jupyter Server 1.4.1 is running at:
[I 2021-09-09 08:11:46.314 ServerApp] http://localhost:8888/lab?token=abf6b34912a16edd9a8ca465c5b4885f6177c8c4906f202d
[I 2021-09-09 08:11:46.314 ServerApp]  or http://127.0.0.1:8888/lab?token=abf6b34912a16edd9a8ca465c5b4885f6177c8c4906f202d
[I 2021-09-09 08:11:46.314 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 2021-09-09 08:11:46.419 ServerApp]

    To access the server, open this file in a browser:
        file:///C:/Users/johnc/AppData/Roaming/jupyter/runtime/jpserver-12628-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/lab?token=abf6b34912a16edd9a8ca465c5b4885f6177c8c4906f202d
     or http://127.0.0.1:8888/lab?token=abf6b34912a16edd9a8ca465c5b4885f6177c8c4906f202d
[I 2021-09-09 08:11:49.761 LabApp] Build is up to date
C:\Users\johnc\anaconda3\lib\json\encoder.py:257: UserWarning: date_default is deprecated since jupyter_client 7.0.0. Use jupyter_client.jsonutil.json_default.
  return _iterencode(o, 0)

In this example, for ease of use, we first move to a folder containing some provided Python code.

Then we start the Jupyter Notebook server.

To stop the notebook server we need to enter two consecutive ctlr-c character combinations.

:::: :::: :::: ::::
[I 2021-09-09 08:57:31.617 LabApp] Build is up to date
[I 2021-09-09 08:59:29.333 LabApp] Build is up to date
[I 2021-09-09 09:01:04.428 ServerApp] Interrupted...
[I 2021-09-09 09:01:04.431 ServerApp] Shutting down 2 kernels
[I 2021-09-09 09:01:04.434 ServerApp] Kernel shutdown: fc9f2588-5467-434a-9b67-77fc00ecd67c
[I 2021-09-09 09:01:04.436 ServerApp] Kernel shutdown: 0c2a1a48-5fb1-4235-8c92-c96902ce56a7

(base) C:\Documents\Python For Programmers\IntroToPython-master\examples\ch01>

In this example we had two notebooks running at the same time.

You might also like to read the post “Crash Course in Python – Part I” in this blog. In it I describe a previous installation of Anaconda on a different computer system.

That is all for this post. Tomorrow I will select a simple Python problem to refresh coding in Python.

If you have comments or questions regarding this, or any other post in this blog, please do not hesitate and leave me a note below. I will reply as soon as possible.

Keep on reading and experimenting. It is one of the best ways to learn, become proficient, refresh your knowledge and enhance your developer toolset.

Thanks for reading this post, feel free to connect with me John Canessa at LinkedIn.

Regards;

John

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.