Inspección, Instalación y Carga de Módulos y Paquetes

Dependiendo del ambiente de trabajo usado, tenemos diferente cantidad de paquetes instalados.

Hay una forma de ver qué paquetes existen en el ambiente actual sin salir del Notebook.

Basta con colocar !<comando> en una celda de código.

Dicho esto, ¿Qué es mejor, hacer todo desde el Prompt o el Notebook?

La elección si depende del gusto :)

Ejemplo

Verifiquemos que versión de Python estamos usando, qué ambientes disponibles existen, cuál es el activo y qué paquetes están instalados, todo esto sin salir del Notebook.

# Recuerda que # es para usar comentarios
# Versión Actual de Python siendo usada
!python --version
# Función print para dar un salto de línea
print(" ")
# Lista de Ambientes Disponibles y Activo en el Notebook
!conda env list
Python 3.8.8
 
# conda environments:
#
                         /Users/nayibeyeseniaariascortez/opt/anaconda3
base                  *  /opt/anaconda3
maria_env                /opt/anaconda3/envs/maria_env
prueb_ook                /opt/anaconda3/envs/prueb_ook
!conda list
# packages in environment at /opt/anaconda3:
#
# Name                    Version                   Build  Channel
_anaconda_depends         2020.07                  py38_0  
_ipyw_jlab_nb_ext_conf    0.1.0                    py38_0  
abseil-cpp                20200923.3           h046ec9c_0    conda-forge
absl-py                   0.13.0           py38hecd8cb5_0  
aiohttp                   3.8.1            py38h96a0964_0    conda-forge
aiosignal                 1.2.0              pyhd8ed1ab_0    conda-forge
alabaster                 0.7.12             pyhd3eb1b0_0  
anaconda                  custom                   py38_1  
anaconda-client           1.8.0            py38hecd8cb5_0  
anaconda-navigator        2.0.3                    py38_0  
anaconda-project          0.10.1             pyhd3eb1b0_0  
anyio                     2.2.0            py38hecd8cb5_1  
appdirs                   1.4.4              pyhd3eb1b0_0  
applaunchservices         0.2.1              pyhd3eb1b0_0  
appnope                   0.1.2           py38hecd8cb5_1001  
appscript                 1.1.2            py38h9ed2024_0  
argh                      0.26.2                   py38_0  
argon2-cffi               20.1.0           py38h9ed2024_1  
argparse                  1.4.0                    pypi_0    pypi
arrow-cpp                 3.0.0           py38h215b936_10_cpu    conda-forge
asn1crypto                1.4.0                      py_0  
astor                     0.8.1              pyh9f0ad1d_0    conda-forge
astroid                   2.6.6            py38hecd8cb5_0  
astropy                   4.3.1            py38hf9932de_0  
astunparse                1.6.3              pyhd8ed1ab_0    conda-forge
async-timeout             4.0.1              pyhd8ed1ab_0    conda-forge
async_generator           1.10               pyhd3eb1b0_0  
atomicwrites              1.4.0                      py_0  
attrs                     21.2.0             pyhd3eb1b0_0  
autopep8                  1.5.6              pyhd3eb1b0_0  
aws-c-cal                 0.4.5                h932a87b_9    conda-forge
aws-c-common              0.5.8                h0d85af4_0    conda-forge
aws-c-event-stream        0.2.7                h665fd1f_2    conda-forge
aws-c-io                  0.9.4                hbed8cc2_5    conda-forge
aws-checksums             0.1.11               hbed8cc2_4    conda-forge
aws-sdk-cpp               1.8.151              hdd70114_2    conda-forge
babel                     2.9.1              pyhd3eb1b0_0  
backcall                  0.2.0              pyhd3eb1b0_0  
backports                 1.0                pyhd3eb1b0_2  
backports-zoneinfo        0.2.1                    pypi_0    pypi
backports.functools_lru_cache 1.6.4              pyhd3eb1b0_0  
backports.shutil_get_terminal_size 1.0.0              pyhd3eb1b0_3  
backports.tempfile        1.0                pyhd3eb1b0_1  
backports.weakref         1.0.post1                  py_1  
beautifulsoup4            4.10.0             pyh06a4308_0  
bitarray                  2.3.0            py38h9ed2024_1  
bkcharts                  0.2                      py38_0  
black                     19.10b0                    py_0  
blas                      1.0                         mkl  
bleach                    4.0.0              pyhd3eb1b0_0  
blinker                   1.4                        py_1    conda-forge
blis                      0.4.1                    pypi_0    pypi
blosc                     1.21.0               h2842e9f_0  
bokeh                     2.3.3            py38hecd8cb5_0  
boto                      2.49.0                   py38_0  
boto3                     1.18.21            pyhd3eb1b0_0  
botocore                  1.21.41            pyhd3eb1b0_1  
bottleneck                1.3.2            py38hf1fa96c_1  
brotli                    1.0.9                hb1e8313_2  
brotlipy                  0.7.0           py38h9ed2024_1003  
bs4                       0.0.1                    pypi_0    pypi
bzip2                     1.0.8                h1de35cc_0  
c-ares                    1.17.1               h9ed2024_0  
ca-certificates           2021.10.8            h033912b_0    conda-forge
cachetools                4.2.4              pyhd8ed1ab_0    conda-forge
catalogue                 1.0.0                    pypi_0    pypi
certifi                   2021.10.8        py38h50d1736_1    conda-forge
cffi                      1.14.6           py38h2125817_0  
chardet                   4.0.0           py38hecd8cb5_1003  
charset-normalizer        2.0.4              pyhd3eb1b0_0  
click                     7.1.2              pyh9f0ad1d_0    conda-forge
click-completion          0.5.2            py38h50d1736_3    conda-forge
click-config-file         0.6.0                    pypi_0    pypi
click-default-group       1.2.2                    pypi_0    pypi
click-log                 0.3.2              pyh9f0ad1d_0    conda-forge
click-plugins             1.1.1                    pypi_0    pypi
cloudpickle               2.0.0              pyhd3eb1b0_0  
cloup                     0.7.1                    pypi_0    pypi
clyent                    1.2.2                    py38_1  
colorama                  0.4.4              pyhd3eb1b0_0  
colour                    0.1.5                    pypi_0    pypi
commonmark                0.9.1                    pypi_0    pypi
conda                     4.11.0           py38h50d1736_0    conda-forge
conda-build               3.21.4           py38h50d1736_0    conda-forge
conda-content-trust       0.1.1              pyhd3eb1b0_0  
conda-env                 2.6.0                         1  
conda-pack                0.6.0              pyhd3eb1b0_0  
conda-package-handling    1.7.3            py38h9ed2024_1  
conda-repo-cli            1.0.4              pyhd3eb1b0_0  
conda-token               0.3.0              pyhd3eb1b0_0  
conda-verify              3.4.2                      py_1  
configobj                 5.0.6                    pypi_0    pypi
contextlib2               0.6.0.post1        pyhd3eb1b0_0  
cpuonly                   1.0                           0    pytorch
cryptography              3.4.8            py38h2fd3fbb_0  
cssselect                 1.1.0                    pypi_0    pypi
curl                      7.78.0               h7bc2e8c_0  
cycler                    0.10.0                   py38_0  
cymem                     2.0.6                    pypi_0    pypi
cython                    0.29.24          py38h23ab428_0  
cytoolz                   0.11.0           py38haf1e3a3_0  
dask                      2021.8.1           pyhd3eb1b0_0  
dask-core                 2021.8.1           pyhd3eb1b0_0  
dataclasses               0.6                      pypi_0    pypi
datasets                  1.13.3             pyhd8ed1ab_0    conda-forge
dateparser                1.1.0                    pypi_0    pypi
dbus                      1.13.18              h18a8e69_0  
debugpy                   1.4.1            py38h23ab428_0  
decorator                 5.1.0              pyhd3eb1b0_0  
defusedxml                0.7.1              pyhd3eb1b0_0  
demjson3                  3.0.5                    pypi_0    pypi
diff-match-patch          20200713           pyhd3eb1b0_0  
dill                      0.3.4              pyhd8ed1ab_0    conda-forge
distributed               2021.8.1         py38hecd8cb5_0  
docutils                  0.16             py38h50d1736_3    conda-forge
entrypoints               0.3                      py38_0  
et_xmlfile                1.1.0            py38hecd8cb5_0  
expat                     2.4.1                h23ab428_2  
facebook-scraper          0.2.48                   pypi_0    pypi
fake-useragent            0.1.11                   pypi_0    pypi
fastcache                 1.1.0            py38h1de35cc_0  
filelock                  3.0.12             pyhd3eb1b0_1  
flake8                    3.9.0              pyhd3eb1b0_0  
flask                     2.0.1              pyhd3eb1b0_0  
fonttools                 4.25.0             pyhd3eb1b0_0  
freetype                  2.10.4               ha233b18_0  
frozenlist                1.2.0            py38h96a0964_1    conda-forge
fsspec                    2021.8.1           pyhd3eb1b0_0  
ftfy                      5.9                      pypi_0    pypi
future                    0.18.2                   py38_1  
gast                      0.3.3                      py_0    conda-forge
get_terminal_size         1.0.0                h7520d66_0  
gettext                   0.21.0               h7535e17_0  
gevent                    21.8.0           py38h9ed2024_1  
gflags                    2.2.2             hb1e8313_1004    conda-forge
ghp-import                2.0.2                    pypi_0    pypi
giflib                    5.2.1                hbcb3906_2    conda-forge
gitdb                     4.0.9              pyhd8ed1ab_0    conda-forge
gitpython                 3.1.24             pyhd8ed1ab_0    conda-forge
glcontext                 2.3.4                    pypi_0    pypi
glib                      2.69.1               hdf23fa2_0  
glob2                     0.7                pyhd3eb1b0_0  
glog                      0.4.0                hb7f4fc5_3    conda-forge
gmp                       6.2.1                h23ab428_2  
gmpy2                     2.0.8            py38h6ef4df4_3  
google-auth               1.21.3                     py_0    conda-forge
google-auth-oauthlib      0.4.6              pyhd8ed1ab_0    conda-forge
google-pasta              0.2.0              pyh8c360ce_0    conda-forge
greenlet                  1.1.1            py38h23ab428_0  
grpc-cpp                  1.36.4               h33525da_1    conda-forge
grpcio                    1.36.1           py38ha263829_0    conda-forge
h5py                      2.10.0           py38h3134771_0  
hdf5                      1.10.4               hfa1e0ec_0  
heapdict                  1.0.1              pyhd3eb1b0_0  
html5lib                  1.1                pyhd3eb1b0_0  
huggingface-hub           0.2.1                    pypi_0    pypi
huggingface_hub           0.0.17                     py_0    huggingface
humanize                  3.12.0                   pypi_0    pypi
icu                       58.2                 h0a44026_3  
idna                      3.2                pyhd3eb1b0_0  
imageio                   2.9.0              pyhd3eb1b0_0  
imagesize                 1.2.0              pyhd3eb1b0_0  
importlib-metadata        4.8.1            py38hecd8cb5_0  
importlib_metadata        4.8.1                hd3eb1b0_0  
importlib_resources       3.3.1              pyhd8ed1ab_1    conda-forge
iniconfig                 1.1.1              pyhd3eb1b0_0  
intel-openmp              2021.3.0          hecd8cb5_3375  
intervaltree              3.1.0              pyhd3eb1b0_0  
ipykernel                 6.4.1            py38hecd8cb5_1  
ipython                   7.27.0           py38h01d92e1_0  
ipython_genutils          0.2.0              pyhd3eb1b0_1  
ipywidgets                7.6.5              pyhd8ed1ab_0    conda-forge
isort                     5.9.3              pyhd3eb1b0_0  
isosurfaces               0.1.0                    pypi_0    pypi
itsdangerous              2.0.1              pyhd3eb1b0_0  
jax                       0.2.21             pyhd8ed1ab_0    conda-forge
jaxlib                    0.1.71           py38h25821e9_0    conda-forge
jbig                      2.1                  h4d881f8_0  
jdcal                     1.4.1              pyhd3eb1b0_0  
jedi                      0.17.2           py38hecd8cb5_1  
jinja2                    3.0.1              pyhd3eb1b0_0  
jmespath                  0.9.5                      py_0    conda-forge/label/cf202003
joblib                    1.0.1              pyhd3eb1b0_0  
jpeg                      9d                   h9ed2024_0  

json2html                 1.3.0                    pypi_0    pypi
json5                     0.9.6              pyhd3eb1b0_0  
jsonschema                3.2.0              pyhd3eb1b0_2  
jupyter                   1.0.0                    py38_7  
jupyter-book              0.12.1             pyhd8ed1ab_0    conda-forge
jupyter-cache             0.4.3              pyhd8ed1ab_0    conda-forge
jupyter-contrib-core      0.3.3                    pypi_0    pypi
jupyter-server-mathjax    0.2.3              pyhd8ed1ab_0    conda-forge
jupyter-sphinx            0.3.2              pyhd8ed1ab_1    conda-forge
jupyter_client            7.0.1              pyhd3eb1b0_0  
jupyter_console           6.4.0              pyhd3eb1b0_0  
jupyter_contrib_core      0.3.3                      py_2    conda-forge
jupyter_contrib_nbextensions 0.5.1              pyhd8ed1ab_2    conda-forge
jupyter_core              4.8.1            py38hecd8cb5_0  
jupyter_highlight_selected_word 0.2.0           py38h50d1736_1002    conda-forge
jupyter_latex_envs        1.4.6           pyhd8ed1ab_1002    conda-forge
jupyter_nbextensions_configurator 0.4.1            py38h50d1736_2    conda-forge
jupyter_server            1.4.1            py38hecd8cb5_0  
jupyterlab                3.1.7              pyhd3eb1b0_0  
jupyterlab-spellchecker   0.7.1              pyhd8ed1ab_0    conda-forge
jupyterlab_pygments       0.1.2                      py_0  
jupyterlab_server         2.8.2              pyhd3eb1b0_0  
jupyterlab_widgets        1.0.0              pyhd3eb1b0_1  
jupytext                  1.11.5             pyh6002c4b_0    conda-forge
keras                     2.6.0                    pypi_0    pypi
keras-preprocessing       1.1.2              pyhd8ed1ab_0    conda-forge
keyring                   23.1.0           py38hecd8cb5_0  
kiwisolver                1.3.1            py38h23ab428_0  
krb5                      1.19.2               hcd88c3b_0  
language-tool-python      2.6.1                    pypi_0    pypi
latexcodec                2.0.1              pyh9f0ad1d_0    conda-forge
lazy-object-proxy         1.6.0            py38h9ed2024_0  
lcms2                     2.12                 hf1fd2bf_0  
libarchive                3.4.2                haa3ed63_0  
libcurl                   7.78.0               hb8e4fae_0  
libcxx                    12.0.0               h2f01273_0  
libedit                   3.1.20210714         h9ed2024_0  
libev                     4.33                 h9ed2024_1  
libevent                  2.1.10               h815e4d9_4    conda-forge
libffi                    3.3                  hb1e8313_2  
libgfortran               3.0.1                h93005f0_2  
libiconv                  1.16                 h1de35cc_0  
liblief                   0.10.1               h0a44026_0  
libllvm10                 10.0.1               h76017ad_5  
libllvm9                  9.0.1                h21ff451_1  
libnghttp2                1.41.0               h7580e61_2  
libpng                    1.6.37               ha441bb4_0  
libprotobuf               3.15.8               hcf210ce_1    conda-forge
libsodium                 1.0.18               h1de35cc_0  
libspatialindex           1.9.3                h23ab428_0  
libssh2                   1.9.0                ha12b0ac_1  
libthrift                 0.14.1               hab56fdc_2    conda-forge
libtiff                   4.2.0                h87d7836_0  
libutf8proc               2.6.1                h35c211d_0    conda-forge
libuv                     1.40.0               haf1e3a3_0  
libwebp-base              1.2.0                h9ed2024_0  
libxml2                   2.9.12               hcdb78fc_0  
libxslt                   1.1.34               h83b36ba_0  
linkify-it-py             1.0.2              pyhd8ed1ab_0    conda-forge
llvm-openmp               12.0.0               h0dcd299_1  
llvmlite                  0.36.0           py38he4411ff_4  
locket                    0.2.1            py38hecd8cb5_1  
lxml                      4.6.3            py38h26b266a_0  
lz4-c                     1.9.3                h23ab428_1  
lzo                       2.10                 haf1e3a3_2  
manim                     0.13.1                   pypi_0    pypi
manimgl                   1.2.0                     dev_0    <develop>
manimpango                0.3.1                    pypi_0    pypi
mapbox-earcut             0.12.11                  pypi_0    pypi
mariadb-kernel            0.1.1                    pypi_0    pypi
markdown                  3.3.4              pyhd8ed1ab_0    conda-forge
markdown-it-py            1.1.0              pyhd8ed1ab_0    conda-forge
markupsafe                2.0.1            py38h9ed2024_0  
matplotlib                3.4.2            py38hecd8cb5_0  
matplotlib-base           3.4.2            py38h8b3ea08_0  
matplotlib-inline         0.1.2              pyhd3eb1b0_2  
mccabe                    0.6.1                    py38_1  
mdit-py-plugins           0.2.8              pyhd8ed1ab_0    conda-forge
mistune                   0.8.4           py38h1de35cc_1001  
mkl                       2021.3.0           hecd8cb5_517  
mkl-service               2.4.0            py38h9ed2024_0  
mkl_fft                   1.3.0            py38h4a7008c_2  
mkl_random                1.2.2            py38hb2f4e1b_0  
mock                      4.0.3              pyhd3eb1b0_0  
moderngl                  5.6.4                    pypi_0    pypi
moderngl-window           2.4.0                    pypi_0    pypi
more-itertools            8.8.0              pyhd3eb1b0_0  
mpc                       1.1.0                h6ef4df4_1  
mpfr                      4.0.2                h9066e36_1  
mpmath                    1.2.1            py38hecd8cb5_0  
msgpack-python            1.0.2            py38hf7b0b51_1  
multidict                 5.2.0            py38h96a0964_1    conda-forge
multipledispatch          0.6.0                    py38_0  
multiprocess              0.70.12.2        py38h96a0964_1    conda-forge
munkres                   1.1.4                      py_0  
murmurhash                1.0.6                    pypi_0    pypi
mypy_extensions           0.4.3                    py38_0  
mysql-connector           2.2.9                    pypi_0    pypi
myst-nb                   0.13.1             pyhd8ed1ab_0    conda-forge
myst-parser               0.15.2             pyhd8ed1ab_0    conda-forge
navigator-updater         0.2.1                    py38_0  
nbclassic                 0.2.6              pyhd3eb1b0_0  
nbclient                  0.5.3              pyhd3eb1b0_0  
nbconvert                 6.1.0            py38hecd8cb5_0  
nbdime                    3.1.1              pyhd8ed1ab_0    conda-forge
nbformat                  5.1.3              pyhd3eb1b0_0  
ncurses                   6.2                  h0a44026_1  
nest-asyncio              1.5.1              pyhd3eb1b0_0  
networkx                  2.6.3              pyhd3eb1b0_0  
ninja                     1.10.2               hf7b0b51_1  
nltk                      3.6.3              pyhd3eb1b0_0  
nodejs                    0.1.1                    pypi_0    pypi
nose                      1.3.7           pyhd3eb1b0_1006  
notebook                  6.4.3            py38hecd8cb5_0  
numba                     0.53.1           py38hb2f4e1b_0  
numexpr                   2.7.3            py38h5873af2_1  
numpy                     1.20.3           py38h4b4dc7a_0  
numpy-base                1.20.3           py38he0bd621_0  
numpydoc                  1.1.0              pyhd3eb1b0_1  
oauthlib                  3.1.1              pyhd8ed1ab_0    conda-forge
olefile                   0.46               pyhd3eb1b0_0  
openjpeg                  2.4.0                h66ea3da_0  
openpyxl                  3.0.9              pyhd3eb1b0_0  
openssl                   1.1.1l               h0d85af4_0    conda-forge
opt_einsum                3.3.0              pyhd3eb1b0_1  
optional-django           0.1.0                    pypi_0    pypi
orc                       1.6.7                hb8e0f11_1    conda-forge
packaging                 21.0               pyhd3eb1b0_0  
pandas                    1.3.3            py38h5008ddb_0  
pandoc                    2.12                 hecd8cb5_0  
pandocfilters             1.4.3            py38hecd8cb5_1  
parquet-cpp               1.5.1                         2    conda-forge
parse                     1.19.0                   pypi_0    pypi
parso                     0.7.0                      py_0  
partd                     1.2.0              pyhd3eb1b0_0  
path                      16.0.0           py38hecd8cb5_0  
path.py                   12.5.0               hd3eb1b0_0  
pathlib2                  2.3.6            py38hecd8cb5_2  
pathspec                  0.7.0                      py_0  
pathtools                 0.1.2              pyhd3eb1b0_1  
patsy                     0.5.2            py38hecd8cb5_0  
pcre                      8.45                 h23ab428_0  
pep8                      1.7.1                    py38_0  
pexpect                   4.8.0              pyhd3eb1b0_3  
pickleshare               0.7.5           pyhd3eb1b0_1003  
pillow                    8.3.1            py38ha4cf6ea_0  
pip                       21.2.4           py38hecd8cb5_0  
pkginfo                   1.7.1            py38hecd8cb5_0  
plac                      1.1.3                    pypi_0    pypi
plotly                    5.3.1                    pypi_0    pypi
pluggy                    0.13.1           py38hecd8cb5_0  
ply                       3.11                     py38_0  
preshed                   3.0.6                    pypi_0    pypi
prometheus_client         0.11.0             pyhd3eb1b0_0  
prompt-toolkit            3.0.20             pyhd3eb1b0_0  
prompt_toolkit            3.0.20               hd3eb1b0_0  
protobuf                  3.15.8           py38ha048514_0    conda-forge
psutil                    5.8.0            py38h9ed2024_1  
ptyprocess                0.7.0              pyhd3eb1b0_2  
py                        1.10.0             pyhd3eb1b0_0  
py-lief                   0.10.1           py38haf313ee_0  
pyarrow                   3.0.0           py38hf787c1d_10_cpu    conda-forge
pyasn1                    0.4.8                      py_0    conda-forge
pyasn1-modules            0.2.7                      py_0    conda-forge
pybtex                    0.24.0             pyhd8ed1ab_2    conda-forge
pybtex-docutils           1.0.1            py38h50d1736_1    conda-forge
pycairo                   1.20.1                   pypi_0    pypi
pycodestyle               2.6.0              pyhd3eb1b0_0  
pycosat                   0.6.3            py38h1de35cc_1  
pycparser                 2.20                       py_2  
pycurl                    7.44.1           py38hbcfaee0_1  
pydata-sphinx-theme       0.7.2              pyhd8ed1ab_0    conda-forge
pydocstyle                6.1.1              pyhd3eb1b0_0  
pydub                     0.25.1                   pypi_0    pypi
pyee                      8.2.2                    pypi_0    pypi
pyerfa                    2.0.0            py38h9ed2024_0  
pyflakes                  2.2.0              pyhd3eb1b0_0  
pyglet                    1.5.21                   pypi_0    pypi
pygments                  2.10.0             pyhd3eb1b0_0  
pyjwt                     2.2.0              pyhd8ed1ab_0    conda-forge
pylint                    2.9.6            py38hecd8cb5_1  
pyls-black                0.4.6                hd3eb1b0_0  
pyls-spyder               0.3.2              pyhd3eb1b0_0  
pymongo                   3.11.0           py38hb1e8313_0    anaconda
pyobjc-core               8.1                      pypi_0    pypi
pyobjc-framework-cocoa    8.1                      pypi_0    pypi
pyodbc                    4.0.31           py38h23ab428_0  
pyopengl                  3.1.5                    pypi_0    pypi
pyopenssl                 20.0.1             pyhd3eb1b0_1  
pyparsing                 2.4.7              pyhd3eb1b0_0  
pyppeteer                 0.2.6                    pypi_0    pypi
pyqt                      5.9.2            py38h655552a_2  
pyquery                   1.4.3                    pypi_0    pypi
pyrr                      0.10.3                   pypi_0    pypi
pyrsistent                0.17.3           py38haf1e3a3_0  
pysocks                   1.7.1                    py38_1  
pytables                  3.6.1            py38h4727e94_0  
pytest                    6.2.4            py38hecd8cb5_2  
python                    3.8.8                h88f2d9e_5  
python-dateutil           2.8.2              pyhd3eb1b0_0  
python-flatbuffers        1.12               pyhd3eb1b0_0  
python-jsonrpc-server     0.4.0                      py_0  
python-language-server    0.36.2             pyhd3eb1b0_0  
python-libarchive-c       2.9                pyhd3eb1b0_1  
python-xxhash             2.0.2            py38h96a0964_1    conda-forge
python.app                3                py38h9ed2024_0  
python_abi                3.8                      2_cp38    conda-forge
pytokenizations           0.8.4                    pypi_0    pypi
pytorch                   1.7.0                   py3.8_0    pytorch
pytz                      2021.3             pyhd3eb1b0_0  
pytz-deprecation-shim     0.1.0.post0              pypi_0    pypi
pywavelets                1.1.1            py38haf1e3a3_2  
pyyaml                    5.4.1            py38h9ed2024_1  
pyzmq                     22.2.1           py38h23ab428_1  
qdarkstyle                2.8.1                      py_0  
qt                        5.9.7                h468cd18_1  
qtawesome                 1.0.2              pyhd3eb1b0_0  
qtconsole                 5.1.1              pyhd3eb1b0_0  
qtpy                      1.10.0             pyhd3eb1b0_0  
re2                       2021.04.01           he49afe7_0    conda-forge
readline                  8.1                  h9ed2024_0  
regex                     2021.8.3         py38h9ed2024_0  
requests                  2.26.0             pyhd3eb1b0_0  
requests-html             0.10.0                   pypi_0    pypi
requests-oauthlib         1.3.0              pyh9f0ad1d_0    conda-forge
rich                      10.15.2                  pypi_0    pypi
ripgrep                   12.1.1                        0  
rope                      0.19.0             pyhd3eb1b0_0  
rsa                       4.7.2              pyh44b312d_0    conda-forge
rtree                     0.9.7            py38hecd8cb5_1  
ruamel_yaml               0.15.100         py38h9ed2024_0  
s3transfer                0.5.0              pyhd3eb1b0_0  
sacremoses                master                     py_0    huggingface
scikit-image              0.18.1           py38hb2f4e1b_0  
scikit-learn              0.24.2           py38hb2f4e1b_0  
scipy                     1.7.1            py38h88652d9_2  
screeninfo                0.6.7                    pypi_0    pypi
seaborn                   0.11.2             pyhd3eb1b0_0  
send2trash                1.8.0              pyhd3eb1b0_1  
sentencepiece             0.1.95           py38h12bbefe_1    conda-forge
setuptools                58.0.4           py38hecd8cb5_0  
setuptools-scm            6.3.2                    pypi_0    pypi
shellingham               1.4.0              pyh44b312d_0    conda-forge
simplegeneric             0.8.1                    py38_2  
singledispatch            3.7.0           pyhd3eb1b0_1001  
sip                       4.19.8           py38h0a44026_0  
six                       1.16.0             pyhd3eb1b0_0  
skia-pathops              0.7.2                    pypi_0    pypi
smmap                     3.0.5              pyh44b312d_0    conda-forge
snappy                    1.1.8                hb1e8313_0  
sniffio                   1.2.0            py38hecd8cb5_1  
snowballstemmer           2.1.0              pyhd3eb1b0_0  
sortedcollections         2.1.0              pyhd3eb1b0_0  
sortedcontainers          2.4.0              pyhd3eb1b0_0  
soupsieve                 2.2.1              pyhd3eb1b0_0  
spacy                     2.2.4                    pypi_0    pypi
spacy-transformers        0.6.0                    pypi_0    pypi
sphinx                    4.2.0              pyhd3eb1b0_0  
sphinx-book-theme         0.1.7              pyhd8ed1ab_0    conda-forge
sphinx-comments           0.0.3              pyh9f0ad1d_0    conda-forge
sphinx-copybutton         0.4.0              pyhd8ed1ab_0    conda-forge
sphinx-external-toc       0.2.3              pyhd8ed1ab_0    conda-forge
sphinx-inline-tabs        2021.8.17b10             pypi_0    pypi
sphinx-jupyterbook-latex  0.4.6              pyhd8ed1ab_0    conda-forge
sphinx-multitoc-numbering 0.1.3              pyhd8ed1ab_0    conda-forge
sphinx-panels             0.6.0              pyhd8ed1ab_0    conda-forge
sphinx-thebe              0.0.10             pyhd8ed1ab_0    conda-forge
sphinx-togglebutton       0.2.3              pyhd3deb0d_0    conda-forge
sphinxcontrib             1.0                      py38_1  
sphinxcontrib-applehelp   1.0.2              pyhd3eb1b0_0  
sphinxcontrib-bibtex      2.2.1              pyhd8ed1ab_0    conda-forge
sphinxcontrib-devhelp     1.0.2              pyhd3eb1b0_0  
sphinxcontrib-htmlhelp    2.0.0              pyhd3eb1b0_0  
sphinxcontrib-jsmath      1.0.1              pyhd3eb1b0_0  
sphinxcontrib-qthelp      1.0.3              pyhd3eb1b0_0  
sphinxcontrib-serializinghtml 1.1.5              pyhd3eb1b0_0  
sphinxcontrib-websupport  1.2.4                      py_0  
spotipy                   2.19.0                   pypi_0    pypi
spyder                    4.2.5            py38hecd8cb5_0  
spyder-kernels            1.10.2           py38hecd8cb5_0  
sqlalchemy                1.4.22           py38h9ed2024_0  
sqlite                    3.36.0               hce871da_0  
srsly                     1.0.5                    pypi_0    pypi
srt                       3.5.0                    pypi_0    pypi
statsmodels               0.12.2           py38h9ed2024_0  
sympy                     1.8              py38hecd8cb5_0  
tbb                       2020.3               h879752b_0  
tblib                     1.7.0              pyhd3eb1b0_0  
tenacity                  8.0.1                    pypi_0    pypi
tensorboard               2.4.1              pyhd8ed1ab_1    conda-forge
tensorboard-plugin-wit    1.8.0              pyh44b312d_0    conda-forge
tensorflow                2.4.0            py38h50d1736_0    conda-forge
tensorflow-base           2.4.0            py38h428766a_0    conda-forge
tensorflow-estimator      2.4.0              pyh9656e83_0    conda-forge
termcolor                 1.1.0                      py_2    conda-forge
terminado                 0.9.4            py38hecd8cb5_0  
testpath                  0.5.0              pyhd3eb1b0_0  
textdistance              4.2.1              pyhd3eb1b0_0  
thinc                     7.4.0                    pypi_0    pypi
threadpoolctl             2.2.0              pyh0d69192_0  
three-merge               0.1.1              pyhd3eb1b0_0  
tifffile                  2020.10.1        py38h0cf3a3e_2  
tk                        8.6.11               h7bc2e8c_0  
tokenizers                0.5.0                    pypi_0    pypi
toml                      0.10.2             pyhd3eb1b0_0  
tomli                     1.2.2                    pypi_0    pypi
toolz                     0.11.1             pyhd3eb1b0_0  
torchcontrib              0.0.2                    pypi_0    pypi
torchvision               0.8.1                  py38_cpu    pytorch
tornado                   6.1              py38h9ed2024_0  
tqdm                      4.62.2             pyhd3eb1b0_1  
traitlets                 5.1.0              pyhd3eb1b0_0  
transformers              2.5.0                    pypi_0    pypi
twarc                     2.8.0                    pypi_0    pypi
tweepy                    4.1.0              pyhd8ed1ab_0    conda-forge
typed-ast                 1.4.3            py38h9ed2024_1  
typing-extensions         3.10.0.2             hd3eb1b0_0  
typing_extensions         3.10.0.2           pyh06a4308_0  
tzdata                    2021.4                   pypi_0    pypi
tzlocal                   4.0.1                    pypi_0    pypi
uc-micro-py               1.0.1              pyhd8ed1ab_0    conda-forge
ujson                     4.0.2            py38h23ab428_0  
unicodecsv                0.14.1                   py38_0  
unixodbc                  2.3.9                haf1e3a3_0  
urllib3                   1.26.7             pyhd3eb1b0_0  
validators                0.18.2                   pypi_0    pypi
w3lib                     1.22.0                   pypi_0    pypi
wasabi                    0.9.0                    pypi_0    pypi
watchdog                  1.0.2            py38h9ed2024_1  
wcwidth                   0.2.5              pyhd3eb1b0_0  
webencodings              0.5.1                    py38_1  
websockets                9.1                      pypi_0    pypi
werkzeug                  2.0.1              pyhd3eb1b0_0  
wheel                     0.37.0             pyhd3eb1b0_1  
widgetsnbextension        3.5.1                    py38_0  
wrapt                     1.12.1           py38haf1e3a3_1  
wurlitzer                 2.1.1            py38hecd8cb5_0  
xlrd                      2.0.1              pyhd3eb1b0_0  
xlsxwriter                3.0.1              pyhd3eb1b0_0  
xlwings                   0.24.7           py38hecd8cb5_0  
xlwt                      1.3.0                    py38_0  
xmltodict                 0.12.0             pyhd3eb1b0_0  
xxhash                    0.8.0                h35c211d_3    conda-forge
xz                        5.2.5                h1de35cc_0  
yaml                      0.2.5                haf1e3a3_0  
yapf                      0.31.0             pyhd3eb1b0_0  
yarl                      1.7.2            py38h96a0964_1    conda-forge
zeromq                    4.3.4                h23ab428_0  
zict                      2.0.0              pyhd3eb1b0_0  
zipp                      3.6.0              pyhd3eb1b0_0  
zlib                      1.2.11               h1de35cc_3  
zope                      1.0                      py38_1  
zope.event                4.5.0                    py38_0  
zope.interface            5.4.0            py38h9ed2024_0  
zstd                      1.4.9                h322a384_0  

Dentro de cada uno de estos paquetes se encuentran modulos, que juntos forman la librería de módulos disponibles en el ambiente de trabajo.

¿Qué es un módulo?

Un módulo es un archivo que tiene extensión .py, es decir, es un archivo de texto que tiene adentro código de python que se puede ejecutar. Un módulo puede definir funciones, clases y variables.

Cabe resaltar lo siguiente: Python es un lenguaje de programación orientado a objetos.

Para términos de visualización, imagínese una caja que tiene muchas cajas por dentro y dentro de cada caja existen herramientas de trabajo distintas.

Ejemplo

Mi maleta. Mi maleta tiene dentro lo siguiente:

  • Una cartuchera.

  • Un computador.

  • Un cuaderno.

Los roles serían los siguientes:

  • Maleta \(\rightarrow\) Paquete

  • Cartuchera \(\rightarrow\) Módulo

  • Cuaderno \(\rightarrow\) Módulo

Entonces, si queremos usar la cartuchera, debemos primero abrir la maleta y tomarla.

O sea, del paquete, vamos a usar un módulo.

Dentro de la cartuchera tengo marcadores, lápices, y borrador.

Estos toman el rol de atributos, objetos que hacen tareas específicas.

Por tanto, si quiero usar un borrador, debería hacer lo siguiente

Abrir maleta \(\rightarrow\) Tomar cartuchera \(\rightarrow\) Abrir Cartuchera \(\rightarrow\) Tomar Borrador

En Python, estas acciones se pueden traducir a lo siguiente:

import Maleta

Maleta.Cartuchera.Borrador()

Para saber qué módulos están disponibles en el ambiente de trabajo, basta con usar el siguiente comando:

help("modules")
Please wait a moment while I gather a list of all available modules...
/opt/anaconda3/lib/python3.8/site-packages/IPython/kernel/__init__.py:12: ShimWarning: The `IPython.kernel` package has been deprecated since IPython 4.0.You should import from ipykernel or jupyter_client instead.
  warn("The `IPython.kernel` package has been deprecated since IPython 4.0."
WARNING: AstropyDeprecationWarning: The private astropy._erfa module has been made into its own package, pyerfa, which is a dependency of astropy and can be imported directly using "import erfa" [astropy._erfa]
WARNING:root:This caffe2 python run failed to load cuda module:No module named 'caffe2.python.caffe2_pybind11_state_gpu',and AMD hip module:No module named 'caffe2.python.caffe2_pybind11_state_hip'.Will run in CPU only mode.

Parece que es una lista bastante larga…

Veamos alguna documentación de alguno de los módulos y sus atributos.

Por ejemplo random.

#help("random") # Muestra toda la documentación

import random

#?random # Muestra una pequeña documentación

Para acceder a los atributos del módulo, basta colocar dir(modulo)

dir(random)

Vaya que la lista sigue siendo larga…

Sigamos metiendo dentro de cada cosa (algún día llegaremos al fin…no?)

?random.random

¡Bingo! Al fin algo que podemos usar:

x = random.random()
print("Número aleatorio en [0,1]: ",x)
?random.randint
y=random.randint(3,6)
print("Número entero aleatorio entre 3 y 6: ",y)

Alias para módulos

Otra propiedad genial de Python es su capacidad para reducir la cantidad de código escrito usando unos secretos milenarios: aliases.

Por ejemplo, si me llamo Daniel, mi alias puede ser Dani.

Entonces, cada vez que me digan Dani, yo miraré en respuesta.

Traducir a Python luce así:

import modulo as alias

Ejemplo

import math as m

# Una vez nombrado el alias, siempre se debe referir a ese alias y no al nombre principal

#dir(math) genera error
dir(m)

Aplicación

Una pequeña aplicación de Matemáticas:

Área de una circunferencia de radio r:

\(A = \pi r²\)

# Aplicación: Área de un círculo de radio 10 cm 

r = 10;          # Declarar el radio
z = m.pi*(r**2)  # Escribir la fórmula matemática
print("El Área del círculo es: ",z,"cm²")

Como pueden observar, los módulos son el alma de Python.

Tareas

  • Conocer los 10 módulos de Python más usados.

  • Hacer un ejercicio práctico con cada módulo investigado.

  • Investigar si es posible crear un módulo de Python. En caso afirmativo, crear uno simple.

  • Explicar la lógica subyacente de la siguiente línea:

# You Must Reset Kernel 0,0

from math import pi

A = pi*r**2

print(A)
math.pi

Bonus: Fractales

Usando un módulo llamado turtle podemos crear un arbolito bonito.

Importante

Por favor, para poder visualizar la salida del siguiente código abra el cuaderno en Binder

import turtle

def tree(length,n):
    if length < (length/n):
        return
    turtle.forward(length)
    turtle.left(45)
    tree(length * 0.5,length/n)
    turtle.left(20)
    tree(length * 0.5,length/n)
    turtle.right(75)
    tree(length * 0.5,length/n)
    turtle.right(20)
    tree(length * 0.5,length/n)
    turtle.left(30)
    turtle.backward(length)
    return

turtle.left(90)
turtle.backward(30)
tree(200,4)
---------------------------------------------------------------------------
Terminator                                Traceback (most recent call last)
<ipython-input-1-8404bb8347a3> in <module>
     19 turtle.left(90)
     20 turtle.backward(30)
---> 21 tree(200,4)

<ipython-input-1-8404bb8347a3> in tree(length, n)
      6     turtle.forward(length)
      7     turtle.left(45)
----> 8     tree(length * 0.5,length/n)
      9     turtle.left(20)
     10     tree(length * 0.5,length/n)

<ipython-input-1-8404bb8347a3> in tree(length, n)
      6     turtle.forward(length)
      7     turtle.left(45)
----> 8     tree(length * 0.5,length/n)
      9     turtle.left(20)
     10     tree(length * 0.5,length/n)

<ipython-input-1-8404bb8347a3> in tree(length, n)
      8     tree(length * 0.5,length/n)
      9     turtle.left(20)
---> 10     tree(length * 0.5,length/n)
     11     turtle.right(75)
     12     tree(length * 0.5,length/n)

<ipython-input-1-8404bb8347a3> in tree(length, n)
      6     turtle.forward(length)
      7     turtle.left(45)
----> 8     tree(length * 0.5,length/n)
      9     turtle.left(20)
     10     tree(length * 0.5,length/n)

<ipython-input-1-8404bb8347a3> in tree(length, n)
      9     turtle.left(20)
     10     tree(length * 0.5,length/n)
---> 11     turtle.right(75)
     12     tree(length * 0.5,length/n)
     13     turtle.right(20)

~\anaconda3\lib\turtle.py in right(angle)

Terminator: 

Y también formas que tienen forma de pedazos de copitos de nieve (Koch Curve):

from turtle import *

def Recursive_Koch(length, depth):
    if depth == 0:
        forward(length)
    else:
        Recursive_Koch(length, depth-1)
        right(60)
        Recursive_Koch(length, depth-1)
        left(120)
        #Recursive_Koch(length, depth-1)
        Recursive_Koch(length, depth-1)
        right(60)
        Recursive_Koch(length, depth-1)
        
# ----------
Recursive_Koch(3, 6)

Autores

  1. Alvaro Mauricio Montenegro Díaz, ammontenegrod@unal.edu.co

  2. Daniel Mauricio Montenegro Reyes, dextronomo@gmail.com

Bibliografía

Comentarios