I would recommend you start using conda environments.
Additionally using a git repository to keep track of your different environment specifications wouldn't hurt.
Alternatively as it's all one machine you could setup a location that is accessible to both Windows and Linux and store the environment specification files there.
Create environment on Windows and re-create it on Linux
Windows
In Windows you could for example create an environment with python 3.7, pandas and numpy and plotly:
conda create --name myenv python=3.7 pandas numpy plotly
Then you would export that environment to a .yml
file:
conda activate myenv
conda env export > myenv.yml
Linux
Now on Linux you can create the same environment by using that .yml
file.
conda env create -f myenv.yml
You could place that .yml
file in git and sync it easily between the different OS'es.
Updating an environment
Linux
Now say you've added a package or two when in Linux to myenv
:
conda activate myenv
conda install matplotlib beautifulsoup4
You need to re-export that environment to a new specification .yml
file with:
conda activate myenv
conda env export > myenv.yml
Windows
Now on Windows you can get that newly created myenv.yml
and use it to sync up the Windows conda environment:
conda activate myenv
conda env update -f myenv.yml --prune