{"id":16518480,"url":"https://github.com/valentingol/deep-learning-installation","last_synced_at":"2025-09-15T06:47:59.523Z","repository":{"id":104309644,"uuid":"380475465","full_name":"valentingol/deep-learning-installation","owner":"valentingol","description":"This tutorial provide a step-by-step pipeline to install an effective Python set-up optimized for deep learning for Ubuntu LTS, containing libraries to use efficiently the last versions of Tensorflow and Pytorch with the GPU and a comfortable environment of work with flexible and highly customizable IDE (VSCode) and environment manager (Virtualenv/VirtualenvWrapper).","archived":false,"fork":false,"pushed_at":"2024-02-14T18:17:16.000Z","size":713,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T16:54:48.881Z","etag":null,"topics":["cuda","deep-learning","deep-learning-library","deep-learning-tutorial","setup","tutorial","virtualenv","virtualenvwrapper","vscode"],"latest_commit_sha":null,"homepage":"","language":null,"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/valentingol.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,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-06-26T10:31:50.000Z","updated_at":"2024-12-03T20:53:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"1615add6-705a-4037-9071-f69dcf8dd76a","html_url":"https://github.com/valentingol/deep-learning-installation","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/valentingol/deep-learning-installation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valentingol%2Fdeep-learning-installation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valentingol%2Fdeep-learning-installation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valentingol%2Fdeep-learning-installation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valentingol%2Fdeep-learning-installation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valentingol","download_url":"https://codeload.github.com/valentingol/deep-learning-installation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valentingol%2Fdeep-learning-installation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275219469,"owners_count":25425888,"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","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cuda","deep-learning","deep-learning-library","deep-learning-tutorial","setup","tutorial","virtualenv","virtualenvwrapper","vscode"],"created_at":"2024-10-11T16:36:14.874Z","updated_at":"2025-09-15T06:47:59.501Z","avatar_url":"https://github.com/valentingol.png","language":null,"readme":"# Full Python set-up installation for Ubuntu LTS (20.04 or 22.04)\n\nAuthor : Valentin Goldité ([GitHub:valentingol](https://github.com/))\n\nUpdate : **January 2024**\n\nTime: 1h30 / 2h\n\nRequires sudo rights.\n\nThis tutorial is carried out as part of the IA [CentraleSupelec](https://www.centralesupelec.fr/) association: [***Les Automatants***](https://automatants.cs-campus.fr/).\n\nThis tutorial provide a step-by-step pipeline to install an effective Python set-up optimized for deep learning for Ubuntu LTS, containing libraries to use efficiently in particular the last versions of [Tensorflow](https://www.tensorflow.org/?hl=fr), [Pytorch](https://pytorch.org/) and [Jax](https://jax.readthedocs.io/en/latest/index.html) with the GPU usage and a comfortable environment of work with flexible and the highly customizable editor [VSCode](https://code.visualstudio.com/) and very convenient environment manager (and fast to use) [Virtualenv](https://pypi.org/project/virtualenv/) with its wrapper [VirtualenvWrapper](https://virtualenvwrapper.readthedocs.io/en/latest/).\n\n![alt text](./assets/logos.png)\n\nYou need a working **Ubuntu LTS** (22.04 or 20.04) to run this tutorial. Then to have an access to computation on GPU using CUDA, you need a **NVIDIA GPU, a GTX 950 or newer** (more precisely, you need to have a compute capability of 5.2 or more, see the compute capability of your GPU [here](https://developer.nvidia.com/cuda-gpus#collapse4)). In case of you don't have a valid GPU, you must use your CPU instead and you can skip the CUDA and cuDNN installation steps.\n\n## Devices and versions\n\nThe installations and corresponding versions proposed here are:\n\n* Python 3.11\n* Virtualenv \u0026 VirtualenvWrapper\n* CUDA 12.1.1 (and optional cuDNN 8.9)\n* VSCode\n* miniconda (optional)\n\nNOTE: **you can easily install other versions replacing the versions mentioned in this tutorial. These versions were tested in 2023, they work well together and run the current last versions of deep learning framework**.\n\nIs cuDNN necessary?\n\n* If you only use Pytorch, the short answer is no. If you want to use pre-built wheels\n  of Jax or Tensorflow, you don't need cuDNN either.\n\n* If you want an older version of tensorflow where pre-built wheels don't exist or\n  simply don't want to use them, you can install cuDNN and check this page:\n  \u003chttps://www.tensorflow.org/install/source?hl=en#gpu\u003e to find the good\n  combination of CUDA and cuDNN versions.\n* If you want to use the local CUDA instead of pre-built wheels to install JAx,\n  you need cuDNN 8.9 (see [here](https://github.com/google/jax#installation)).\n\n## Before to start\n\nAll installations in this tutorial could be installed independently, the relevance of each are discussed in its dedicated session. It's recommended to install all of them, except miniconda that is optional and use to handle with conda-exclusive libraries if needed. Plus, **it's highly recommended to completely uninstall Anaconda at the beginning if it is already installed** to avoid conflicts of virtual environment and environment variables. Anaconda provided no essential features for ML and often make some unwanted changes in your computer so you can safely uninstall it forever. If you want to use Jupyter notebooks, don't worry, it will be available on VSCode too.\n\nThen open your terminal (**Ctrl+Alt+T**). Before to begin, it's important to **leave all virtual environments** to make your installations globally.\n\nSo you should have no parenthesis with a name inside at the beginning of your line in the bash. Your bash should be similar to this (with the name of your session and your computer):\n\n![alt text](assets/outside_virtual_env.png)\n\nIf you have parenthesis with a name on it, it means that you are in a virtual environment. You can try the following command to leave it by running `conda deactivate` if you are in a conda environment and `deactivate` if you are in virtualenv environment (try the two if you don't know the kind of environment you are in).\n\n## Install Python\n\n[**Python**](https://www.python.org/) is by far the most popular language for machine learning both in the research and professional world. The reason is that Python is an intuitive and permissive language with a ton of optimized ML and processing libraries. You will to install the **3.11 version** in this tutorial but you can install all versions you want by the same way (plus versions that are in alpha/beta stage).\n\nNow you can verify if you have already Python3.11 installed on your computer. To do this, you can display all files in `/usr/bin` whose name begin with \"python\":\n\n```script\nls /usr/bin/python3*\n```\n\n(**note:** outside a virtual environment, `python` usually refers to a Python2 version while `python3` refers to the current Python3 version. Python 2 is deprecated so `python` is no longer installed by default in new machines. In all cases, always use `python3` when you are outside a virtual environment)\n\nFor example in my machine you can see that my default Python is 3.8 and I have already installed `python3.8`, `python3.9` and `python3.10`:\n\n![alt text](assets/installed_python_versions.png)\n\nIf `python3.11` appears, you can skip the Python installation.\n\nIf you have not Python3.11 in your computer: first add the Python PPA (Personal Package Archive) in apt to get the version you want and install Python 3.11:\n\n```script\nsudo add-apt-repository ppa:deadsnakes/ppa\nsudo apt update\nsudo apt install python3.11 python3.11-distutils python3.11-venv\n```\n\nNow you can verify if Python3.11 is correcly installed:\n\n```script\nls /usr/bin/python3*\n```\n\n## Virtualenv and VirtualenvWrapper\n\n**Virtualenv** is a util that allows you to create virtual environments, so it's a \"virtual environment manager\". A virtual environment install all python packages in an isolate place on your computer. You should create a virtual environment for each projects you work on, to avoid packages conflicts between your differents projects and therefore a virtual environment manager is essential for any ML developer. Virtualenv has an extension called VirtualenvWrapper that uses automatically the fonctions of Virtualenv with simple command and add some additional features easy to use. It is highly recommended to install it.\n\nNote taht `conda` package from **Ananconda** or **Miniconda** is an other virtual environment manager and it's very popular with some people. However the drawbacks of Anaconda or Miniconda by comparison with Virtualenv are numerous and describe in the file `VIRTUALENVvsCONDA.md`.\n\nBefore to start, be aware to be outide any virtual environment.\n\n```script\nsudo apt install python3-pip\nsudo pip3 install virtualenv virtualenvwrapper\n```\n\nWarning messages due to an old pip version used could occurs but you can safely ignore them.\n\nYou can get the path of `virtualenv` and of the virtualenvwrapper script `virtualenvwrapper.sh` :\n\n```script\nwhich virtualenv\nwhich virtualenvwrapper.sh\n```\n\nThey should be in the same directory (called **\u003cvirtualenv_dir_path\u003e** in the following).\n\nNow, it is time to set up VirtualenvWrapper.  To do it, VirtualenvWrapper needs you to specify some environment variables.\n\nFirst create two folders. The first one `venv` will contains all environment folders and the second one `venv_hooks` will contains hooks that are some customization scripts to facilitate the use of Virtualenv:\n\n```script\ncd\nmkdir venv venv_hooks\n```\n\nNow set the environment variables required at the end of the `.bashrc` file (it's a file that will be run at the start of the terminal and that already contains some environment variables):\n\n```script\nnano .bashrc\n```\n\n```nano\n# virtualenvwrapper\nexport WORKON_HOME=\"$HOME/venv\"\nexport VIRTUALENVWRAPPER_PYTHON=\"/usr/bin/python3\"\nexport VIRTUALENVWRAPPER_HOOK_DIR=\"$HOME/venv_hooks\"\nsource \u003cvirtualenv_dir_path\u003e/virtualenvwrapper.sh\n```\n\nSome explanations :\n\n* WORKON_HOME: path of the directory that contains all your upcoming environments\n* VIRTUALENVWRAPPER_PYTHON: path of default python\n* VIRTUALENVWRAPPER_HOOK_DIR: path of the directory that contains your hooks\n* source ~/.local/bin/virtualenvwrapper.sh\n\nIn nano editor, you can save and quit your changes with : **Ctrl+X**, **Y**, **ENTER**\n\nNow restart the bash by running: `bash`\n\nSome line will indicate that VirtualenvWrapper has created the hooks. It happens only the first time you installed VirtualenvWrapper. You can verify if no error occurs by restarting the bash once again.\n\n### Test VirtualenvWrapper\n\nNow your Virtualenv is ready to use in combination with VirtualenvWrapper. You can visit the site [VirtualenvWrapper](https://virtualenvwrapper.readthedocs.io/) to see how to use the hooks and the basic command.\n\nSome usefull command that you can already test right now:\n\n| Command               | Effect                                                           |\n| --------------------- | :--------------------------------------------------------------- |\n| workon                | display all created env                                          |\n| mkvirtualenv test_env | create an environment called \"test_env\" (and go into it)         |\n| workon test_env       | go into \"test_env\"                                               |\n| deactivate            | leave the current environment                                    |\n| rmvirtualenv test_env | remove \"test\" (you must leave \"test_env\" before)                 |\n| mktmpenv              | create a temporary environment (removed when left)               |\n| cpvirtualenv          | copy an environment to a new environment (convenient for rename) |\n\nTo create an environment with a specific version of Python (and go directly inside it), you must precise it in argument `-p`:\n\n```script\nmkvirtualenv -p python3.11 name_of_env\ndeactivate\n```\n\n## CUDA and cuDNN\n\n**WARNING** : this section deals with GPU-accelerated libraries using NVIDIA GPU. Please check *Before to start* section to verify that you have the right GPU.\n\n### Check Driver version\n\nFirst of all, you need the most recent version of the nvidia drivers. Open **Software and Updates (Ubuntu application)**, go in tab \"Additional drivers\" and select the last version of CUDA (proprietary driver). In the example below it is 535 (the version must be \u003e= 525.60.13 for CUDA 12.x.):\n\n![alt text](./assets/drivers.png)\n\nThen reboot your computer. Note that you must deactivate the Secure Boot first to install proprietary drivers (you can do it in the BIOS menu that is generally accessible by pressing F2 when the computer is booting).\n\nNow the command `nvidia-smi` should return something. If it is not the case, verify that you have a correct NVIDIA GPU with Secure Boot disabled and that you are not in the Power Saving Mode (check Nvidia settings with the command `nvidia-settings`).\n\n### Pre-installation checks\n\nHere is the link of the official tutorial : \u003chttps://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html\u003e. I summarize the tutorial in this section.\n\nFirst verify that your machine is adapted to install CUDA:\n\n* verify the drivers and nvidia compatibility. The following command should returns something. If not, you can verify your drivers again or check if you have a NVIDIA GPU card (`nvidia-smi` should returns something):\n\n```script\nlspci | grep -i nvidia\n```\n\n* verify your architecture. The following code should returns \"x86_64\", \"ppc64le\" or \"arm64-sbsa\":\n\n```script\nuname -m\n```\n\n* verify gcc and kernel version:\n\n```script\nuname -r\ngcc --version\n```\n\nThe versions should match the version of this grid depending on your Ubuntu version, see \u003chttps://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements\u003e (versions should be the same or newer). This grid is regularly updated as new versions are released. The CUDA tutorial provides some instructions to update your kernel and compiler if needed.\n\n### CUDA Installation\n\nYou can verify your previously installed CUDA versions (if you have ones) with this command:\n\n```script\nls /usr/local/cuda*\n```\n\nThe names of the folders are the versions already installed. If you have no folder called cuda-12.1 continue to read this section otherwise you go directly in cuDNN installation section.\n\nYou can delete all unwanted versions of CUDA by removing them in their directory:\n\n```script\nsudo rm -r /usr/local/cuda-X\n```\n\nNow it's time to install CUDA 12.1.\n\nI advice you to install CUDA manually from archives. Find the 12.1.1 version in the CUDA archives :\n\u003chttps://developer.nvidia.com/cuda-toolkit-archive\u003e. Then click on the button that corresponds\nto your set-up. And choose **deb (local)** option.\n\nFor exemple with a x86_64 Ubuntu 22.04:\n\n![alt text](assets/cuda.png)\n\nThen follow the instruction to download CUDA. **Note**: you should  download CUDA and\ncuDNN files on a dedicated installation folder. To do it, create a new folder in `~/`\nand run the commands on it.\n\n### Finish installation\n\nYou can verify the cuda version in your computer with the command above. You should have a `cuda` folder and other `cuda-x` folders including at least `cuda-12.1`.\n\nCUDA is globally a set of libraries that are generally installed as dependencies of\nother packages. It is possible to install some packages that are depend to CUDA and\nafter removing it, apt could consider that CUDA are no longer necessary in your computer.\nAnd it will propose you to remove it with `apt autoremove`. But as you will use it for\nML packages, you don't want to uninstall it. Therefore, you must precise to apt that you\ninstalled CUDA manually and prevent it to suggest you to remove it:\n\n```script\nsudo apt-mark manual cuda-\\*\n```\n\n### cuDNN Installation (optional)\n\nThis section is optional. Some libraries like old versions of Tensorflow and some Jax installation\nprocedures require cuDNN libraries. If you don't need it, you can skip this section.\n\nHere you can find the quick tutorial to install cuDNN compatible with CUDA 12.x\n(you can adapt to you needs). The link of the official tutorial is \u003chttps://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html\u003e. Once again, I summarize the installation below.\n\nFirst go to the cuDNN page: \u003chttps://developer.nvidia.com/cudnn\u003e. You must register an account to get access to the page so register yourself if it's the first time you try to download cuDNN. There is also a quick survey to complete or to skip. Otherwise just login in your account.\n\nNow click on the button \"Download cuDNN\" and check \"I agree to the terms\".\n\n![alt text](assets/cudnn_archives.png)\n\nThen choose cuDNN 8.9 version **that is compatible with CUDA 12.x**. If it is not proposed, find older version\nunder \"Archived cuDNN Releases\". Now download **cuDNN Library for Linux ([your architecture]) Tar file** (ex x86_64). Move the file in the folder containing the previous CUDA installation file. Open a terminal in this folder and run the following command to unpack the libraries, to copy them in cuda foder and to make them executable:\n\n```script\ntar -xvf cudnn-\u003cfile_name\u003e.tar.xz\nsudo cp cudnn-\u003cfile_name\u003e-archive/include/cudnn*.h /usr/local/cuda/include\nsudo cp -P cudnn-\u003cfile_name\u003e-archive/lib/libcudnn* /usr/local/cuda/lib64\nsudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*\n```\n\nVerify that you have some 8.9 cuDNN libraries in your CUDA folder:\n\n```script\nls /usr/local/cuda/lib64/libcudnn*\n```\n\n### Set environment variables\n\nIt is time to specify the path of your new libraries at the end of the `.bashrc` file:\n\n```script\ncd\nnano .bashrc\n```\n\n```nano\n# cuda path\nexport PATH=\"/usr/local/cuda/bin:$PATH\"\nexport LD_LIBRARY_PATH=\"/usr/local/cuda/lib64:$LD_LIBRARY_PATH\"\n```\n\nNow restart your bash with the command: `bash`.\n\n### Verify GPU acceleration with Tensorflow, Pytorch and Jax\n\nIn this sub-section we will test if Tensorflow, Pytorch and Jax find the access of all libraries it needs to work with the GPU. Note that the command line to install Jax can depend on your CUDA and cuDNN configurations (see [the installation guide](https://github.com/google/jax#installation) for more details) but with the versions above, it can be with the line below.\n\nCreate a temporary environment with tensorflow, pytorch and Jax on it:\n\n```script\nmktmpenv -p python3.11\npip install -U pip\npip install tensorflow[and-cuda]\npip install torch\npip install --upgrade \"jax[cuda12_pip]\" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html\n```\n\nTensorflow, Pytorch and Jax should be installed now. But it does not mean that they work with GPU. Run a python console and check the GPU usage. First start a Python session: `python` then run the following lines:\n\n```python\n\u003e\u003e\u003e import tensorflow as tf\n\u003e\u003e\u003e import torch\n\u003e\u003e\u003e import jax\n\u003e\u003e\u003e torch.cuda.is_available()\nTrue\n\u003e\u003e\u003e len(tf.config.list_physical_devices('GPU')) \u003e 0\nTrue\n\u003e\u003e\u003e len(jax.devices('gpu')) \u003e 0\nTrue\n```\n\nIf all goes well, the logs of tensorflow after calling *tf.list_physical_devices(\"GPU\")* should not return warning or error messages. Plus, importing Jax does not result on the warning message: *No GPU found. Falling back to CPU.* You can also manipulate tensors with the three frameworks to check if the GPU is used (be careful, tensorflow and jax allocate most of VRAM on the first operations so you should restart the python console to check both frameworks).\n\nIf the previous commands return `False` you have to check where is the problem. Tensorflow's logs are precious to finding the problem. Each lines begins with **I** if it is information, **W** if it is warnings and **E** or **Err** if it is error. So do take care of **W** and **E** lines (warning messages should not be ignore here as they often block the gpu usage). The warning `W: TF-TRT Warning: Could not find TensorRT` can be ignored [see here](https://github.com/tensorflow/tensorrt/issues/252).\n\nThe problems could be due to:\n\n* some libraries were not found. In this case you should recheck the CUDA version and the environment variables set in `.bashrc`. If the only missing library is \"cudnn\", the cuDNN installation is  certainly the problem.\n* mismatch version between kernel and drivers CUDA versions. In this case update the driver version to the newest could resolve the problem\n\nNow you can now remove the virtual environment with: `desactivate`.\n\n## VSCode\n\nThere are many IDE and editor for Python development but VSCode is by far the most popular (with PyCharm). There are multiple reasons for that. First, VSCode is **usable with all existing (or almost) informatic langage**. So you can work on projects that combines fils for instance written in Python, Rust, C, C++, Markdown, Lua, Matlab... without changing your editor software! Moreover, VSCode proposes **a ton of extension to customize... basically everything**. So you can add a lot of autocomplete functions ([GitHubCopilot](https://copilot.github.com/) is the current best auto-completer par excellence), choose your favorite linter, work with interactive windows or notebooks, and so on. You also have a tab to see all files and folders on your project and switch between your different project easily. You can even set a virtual environment for each of your projects to activate automatically the good environment when you change your project. And finally, you have an **integrated terminal** so you can continue to use the terminal to work on your environment/project without changing your window. Note that VSCode extensions make it as convenient as Pycharm but with more options and more flexible.\n\nDownload the .deb file from the website : \u003chttps://code.visualstudio.com/download\u003e. And run the following command in the folder where it's installed and launch it:\n\n```bash\nsudo apt install ./\u003cfilename\u003e.deb\ncode\n```\n\n**Note**: VSCode is also in your apps now so you can launch it with **Activities \u003e VSCode**.\n\nOpen the tab *Extension* and install *Python* extension, plus *Python Indent* and *Pylance* that are very practical for a Python developer. Reload VSCode after that and then VSCode is ready to use with Python. Now you can search for all extensions you want. You can find a lot of information about VSCode and its extensions on the Internet. Explore by yourself all the possibilities!\n\n![alt text](assets/VSCode.png)\n\n## Miniconda (optional)\n\nAs discussed in `VIRTUALENVvsCONDA.md`, sometimes you need to work in conda environments. It's imortant to be familiar with it, in particular because it's easy to be confuse when you are working with both conda and Virtualenv.\n\nTo have access to `conda` package you should install **miniconda**.\n\n**Miniconda** provides the environment manager conda while **Anaconda** provides some other features in addition like **Spyder** or **Jupyter**. But in our case we have already a complete IDE and we don't want to install these useless softwares. Therefore, we only install miniconda.\n\n### Miniconda installation\n\nGo here: \u003chttps://docs.conda.io/en/latest/miniconda.html#linux-installers\u003e and choose the good file depending on the Python version and the architecture you have. Normally it's **Miniconda3 Linux 64-bit**. Move the file in your installation folder and run:\n\n```script\nsh filename.sh\n```\n\n### Set up Miniconda\n\nAfter the installation, your `.bashrc` is automatically modified. Miniconda could replace some of your environment variable and it's advisable to replace the lines written by conda by the following ones to introduce smaller changes:\n\n```nano\n# conda\nsource ~/miniconda3/etc/profile.d/conda.sh\nif [[ -z ${CONDA_PREFIX+x} ]]; then\n    export PATH=\"~/conda/bin:$PATH\"\nfi\n```\n\nYou may have noticed that conda automatically activate the \"base\" environment when you start the terminal. It's very unpractical as we may only use conda maybe 5% of the time so you should deactivate this behaviour:\n\n```script\nconda config --set auto_activate_base false\n```\n\n**Important**: Now you have miniconda and Virtualenv so two environment managers that work in the same time. It could be dangerous! In particular you must avoid to be in both a conda and a virtualenv environment in the same time because you don't know what libraries will be available and where will be installed new libraries. To avoid it you must deactivate the conda or the virtualenv environment before activating a new environment with the other environment manager (`conda deactivate` or `deactivate`).\n\nBasically what you must avoid:\n\n![alt text](assets/2_envs.png)\n\nIn this case you should first `conda deactivate` two times (to leave \"conda_env\" and \"base\") and then `deactivate`.\n\nThis is the end of this tutorial, if you have any issue, please contact me or raise an issue in this repository. I hope it will be usefull for you!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalentingol%2Fdeep-learning-installation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalentingol%2Fdeep-learning-installation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalentingol%2Fdeep-learning-installation/lists"}