Python environment
Setting a python environment is great to: 1) share code with others and 2) work on multiple machines. It ensures that every machine, and every collaborator runs the same code, which is a good way to stay sane.
Use conda to create a custom environment for your project.
- Install miniconda, which is a lightweight installer of conda.
 - In your project repository, create an 
environment.ymlfile that contains all the dependencies of your project (example below). - From this repository, run 
conda env createto create a conda environment as specified in theenvironment.ymlfile. - Every time we update our environment (add/delete packages), run the command 
conda env updateto update it. 
Here is an example of an environment.yml file.
# Name of the environment
name: ml-research
# Packages installed with conda
dependencies:
- python=3.6.9
- pytorch=1.3.1
- torchvision=0.4.2
- cudatoolkit=10.0
- numpy=1.17.4
- pip=19.3.1
# Packages installed with pip
- pip:
    - flake8==3.7.9
    - tensorboardx==1.9
That’s it. Whenever we want to share our code with others, we simply point them to the github repository and 
they’ll be able to generate the same python environment to run the model with conda env create.