{"id":22273548,"url":"https://github.com/dfleta/kataconda","last_synced_at":"2025-03-25T16:41:56.953Z","repository":{"id":203309780,"uuid":"709300045","full_name":"dfleta/kataconda","owner":"dfleta","description":"Kata para aprender a gestionar un proyecto python con miniconda","archived":false,"fork":false,"pushed_at":"2023-11-02T12:33:08.000Z","size":9,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-30T14:45:17.283Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfleta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-24T12:48:59.000Z","updated_at":"2023-10-28T09:43:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"5da185c0-d051-4e78-8dc4-ad9c4169e591","html_url":"https://github.com/dfleta/kataconda","commit_stats":null,"previous_names":["dfleta/kataconda"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fkataconda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fkataconda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fkataconda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fkataconda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfleta","download_url":"https://codeload.github.com/dfleta/kataconda/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245501813,"owners_count":20625857,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-03T13:13:41.049Z","updated_at":"2025-03-25T16:41:56.934Z","avatar_url":"https://github.com/dfleta.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nKata gestión entornos virtuales con (mini)Conda\n===============================================\n\n\n## conda-project gitignore\n\n[gitignore](https://github.com/Anaconda-Platform/anaconda-project/blob/master/.gitignore)\n\nhttps://docs.conda.io/projects/conda/en/4.6.0/_downloads/52a95608c49671267e40c689e0bc00ca/conda-cheatsheet.pdf\n\nhttps://docs.conda.io/projects/conda/en/stable/user-guide/tasks/manage-environments.html\n\nhttps://docs.conda.io/projects/conda/en/stable/user-guide/tasks/manage-pkgs.html#\n\nhttps://docs.conda.io/projects/miniconda/en/latest/\n\n`bash Miniconda3-latest-Linux-x86_64.sh -b -u -p ~/miniconda3`\n\n## Crear un entorno virtual en el directorio local:\n\n`conda create --prefix ./envs`\n\n#### Para abreviar este prompt al activar el entorno:\n\n`(/Users/USER_NAME/research/data-science/PROJECT_NAME/envs) $`\n\nmodify the env_prompt setting in your .condarc file:\n\n`$ conda config --set env_prompt '({name})'`\n\n```bash\n$ conda env list\n# conda environments:\n#\n                      *  /home/davidg/Escritorio/codigo/loose_change/loose_change/envs\nbase                     /home/davidg/miniconda3\n\n\nconda activate ./envs\n\nconda list\n\nconda search python\n\nconda install python=3.11.5\n\n# (3.12 daba problemas de dependencias con pytest)\n\nconda list\n\nconda install pytest\n\n# editar pytest.ini para excluir directorios test de conda\n\nconda deactivate\n```\n\n\n-------------------------\n\nPara evitar que pytest ejecute los test del directorio envs de conda:\ncrear el fichero init.py e incluir:\n\n```\n[pytest]\ntestpaths =\n    test\n```\n\no ejecutar:\n\n`pytest ./test``\n\nSin los ficheros `__ini__.py` pytest no carbura con los módulos.\n\nCon el entorno activado:\n\n`$ conda env export \u003e environment.yml`\n\n## Importar entorno\n\nPara instalar un entorno exportado entre plataformas (OSX, Linux) eliminar del `environment.yml` la parte específica de la versión de los paquetes:\n\n```\ndependencies:\n  - pytest=7.4.0=py311h06a4308_0 \u003c=\u003e  pytest=7.4.0\n  - python=3.11.5\n```\n\nHe modificado en `environment.yml` el nombre del entorno y del prefix para dejarlo en env. Mejor darle un nombre que lo identifique en la lista de entornos.\n\n```\nname: env   \u003c==\nchannels:\n  - defaults\ndependencies:\n  - pytest=7.4.0\n  - python=3.11.5\nprefix: env \u003c==\n```\n\nHe dejado en `environment.yml` sólo los paqueteo instaladas explícitamente por mi en el entorno para evitar que se instalen paquetes no compatibles entre plataformas. El comando para crear el fichero de entorno es:\n\n`conda env export --from-history \u003e environment.yml`\n\npero este te permite visualizarlo antes de entubarlo:\n\n`conda env export --from-history`\n\naunque la salida no es exactamento como indica el manual de conda.\n\n\n### Crear el entorno desde un fichero:\n\n`conda env create -f environment_manual.yml`\n\nPara indicar el nombre del entorno:\n\n`conda env create -n env -f environment_manual.yml`\n\n`conda activate env`\n\n```bash\nconda env list\n# conda environments:\n#\nbase                     /Users/usu/miniconda3\nenv                   *  /Users/usu/miniconda3/envs/env\ntest                     /Users/usu/miniconda3/envs/test\n```\n\n### Para renombrar el entorno:\n\nThe base environment and the currently-active environment cannot be renamed.\n\nhttps://docs.conda.io/projects/conda/en/latest/commands/rename.html\n\n```bash\n$ conda deactivate\n(base) $ conda rename -n env kataconda\nSource:      /Users/usu/miniconda3/envs/env\nDestination: /Users/usu/miniconda3/envs/kataconda\n\n$ conda env list\n# conda environments:\n#\nbase                  *  /Users/usu/miniconda3\nkataconda                /Users/usu/miniconda3/envs/kataconda\n```\n\n\nhttps://www.freecodecamp.org/news/what-is-a-channel-in-conda/\n\n`conda config --show channels`\n\nTo install a package using the default channel, you use the conda install \n\n`conda install package-name`\n\n`conda install -c conda-forge jupyterlab`\n\nYou can add a channel to the list of channels using the conda config --add channels channel-name command. That is:\n\n`conda config --add channels conda-forge`\n\n### Canales: JupyterLab\n\nIf you install JupyterLab with conda or mamba, we recommend using the conda-forge channel.\n\nOnce installed, launch JupyterLab with:\n\njupyter lab\n\nBuscar jupyter en el canal recomendado conda-forge pues está más actualizado que en el defautl pkgs/main\n\n```bash\n$ conda search -c conda-forge jupyterlab\njupyterlab                     4.0.7    pyhd8ed1ab_0  conda-forge         \n\n $ conda search jupyterlab\njupyterlab                     3.6.3  py39hecd8cb5_0  pkgs/main\n```\n\n`conda install -c conda-forge jupyterlab`\n\n#### Averiguar si un paquete está en un entorno:\n\n```bash\n$ conda list -n kataconda jupyterlab\n# packages in environment at /Users/usu/miniconda3/envs/kataconda:                   \n# Name                    Version                   Build    Channel\njupyterlab                4.0.7              pyhd8ed1ab_0    conda-forge           \njupyterlab_pygments       0.2.2              pyhd8ed1ab_0    conda-forge\njupyterlab_server         2.25.0             pyhd8ed1ab_0    conda-forge     \n```\n\n\n### Añadir canal\n\nAñado el canal conda-forge a mi sistema:\n\n```bash\n\n$ conda config --add channels conda-forge`\n\n$ conda config --show channels\nchannels:\n  - conda-forge\n  - defaults\n\n# funciona?\n$ conda search pytest\npytest                         7.4.0    py39hecd8cb5_0  pkgs/main     \u003c===     \npytest                         7.4.0    pyhd8ed1ab_0  conda-forge     \u003c===   \npytest                         7.4.1    pyhd8ed1ab_0  conda-forge         \npytest                         7.4.2    pyhd8ed1ab_0  conda-forge      \n```\n\n#### Quitar un canal\n\n`conda config --remove channels 'conda-forge'`\n\n\n### Actualizar un paquete instalado en el entorno:\n\n```bash\n$ conda list -n kataconda pytest\n# packages in environment at /Users/usu/miniconda3/envs/kataconda:\n#\n# Name                    Version         Build  Channel\npytest                    7.4.0           py311hecd8cb5_0  \n\n(kataconda)$ conda update pytest   (env activado)\n\n## Package Plan ##\n  environment location: /Users/usu/miniconda3/envs/kataconda\n  added / updated specs:\n    - pytest\nThe following packages will be downloaded:\n\n    package                    |            build\n    ---------------------------|-----------------\n    colorama-0.4.6             |     pyhd8ed1ab_0          25 KB  conda-forge\n    pytest-7.4.2               |     pyhd8ed1ab_0         239 KB  conda-forge  \n    \n    \u003c=== los baja del canal donde estan más actualizados!!\n\n$ conda list -n kataconda pytest\n# packages in environment at /Users/usu/miniconda3/envs/kataconda:\n#\n# Name                    Version                   Build  Channel\npytest                    7.4.2              pyhd8ed1ab_0    conda-forge\n```\n\n### Actualizar conda:\n\n`conda update -n base -c defaults conda`\n\nOr to minimize the number of packages updated during conda update use:\n\n**DESDE EL ENTORNO BASE!!!**\n\n`(base)$ conda install conda=23.9.0`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Fkataconda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfleta%2Fkataconda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Fkataconda/lists"}