Before installing EV-Fleet-Sim, you will need to install various software that EV-Fleet-Sim depends on.


Note: Version numbers are just the ones that I tested the program with. Other versions may also work. But many packages and software introduce breaking changes between releases. So be aware of that.

Note: Packages marked with a * are mandatory. The other packages are recommended, but the software may work without them. Packages marked with a + are conditionally required. I.e., they are only required if performing specific tasks. However, they are highly recommended.


Please install the following software before installing EV-Fleet-Sim. Install all the software with their default settings, except for Python on Windows.

NB: Please install the correct versions of the software. Especially for SUMO and Python.

Name Version Description
*SUMO1 == 1.8.0 Traffic mobility simulator. Once installed, make sure that the SUMO_HOME environment variable exists.2
*Python == 3.9 An awesome, easy-to-learn programming language named after a dangerous snake. Windows users: Make sure you tick the “Add Python to PATH” checkbox during installation!!!3
*Git Any A tool to collaborate on coding projects and track changes that we make.
*Bash Any The terminal which comes with Linux and MacOS. Windows can emulate Bash using Git Bash. It will be automatically installed when you install Git.
*SAM > 2020.11.29 Simulator of Renewable-Energy Generators (Solar panels, wind-turbines, etc.).
+R > 4.0.4 R programming language. Only compulsory if you plan on running scenarios which use GTFS data.
+osmium > 1.13 Software for cropping OpenStreetMap files. Compulsory on Linux and MacOS.
+osmconvert Any Alternative software for cropping OpenStreetMap files. Compulsory on Windows.
+osmosis Any Software used for overlaying NASA elevation data onto the OpenStreetMap files. Required if you want to consider elevation in the electric vehicle models of EV-Fleet-Sim.
+Microsoft Build Tools for C++ > 14.0 Only compulsory on Windows. Used for compiling some Python packages.

SUMO Compilation Dependencies

When compiling SUMO on Linux, you will need to install the following dependencies:


Python Packages

When you install EV-Fleet-Sim with Pip, it will automatically install all the dependencies with their correct versions.

R packages

Name Version Description
+gtfs2gps4 1.6-0 Converts GTFS public transport data to GPS traces.
+colorout4 any  
+here4 any  

Installing EV-Fleet-Sim

Once you’ve installed the dependencies, you can install EV-Fleet-Sim using the command:

pip install ev-fleet-sim


Creating a Virtual Environment for EV-Fleet-Sim [Optional]

Simply run the command python -m venv <venv-path>, where <venv-path> is the path where you would like to save your virtual environment. Unfortunately, you will need to activate the virtual environment every time you want to run EV-Fleet-Sim. Do this by running one of the following commands, depending on your platform:

Platform Shell Command to activate virtual environment
Linux/MacOS bash/zsh source <venv-path>/bin/activate
Windows GIT Bash source <venv-path>/Scripts/activate

After you have activated the venv, you can install ev-fleet-sim into it with pip install ev-fleet-sim.

You can deactivate your virtual environment using the deactivate command.

Additional instructions for Windows

Unfortunately, Windows’ search indexer slows down ev-fleet-sim drastically. In order to circumvent this, perform the following steps:

  1. Open Indexing Options from the start menu.
  2. Click the Advanced button.
  3. Switch to the File Types tab.
  4. Un-check the csv and xml filetypes in the list.
    1. If they are not present in the list, you can add them using the Add button at the bottom of the window.
  5. Click the Ok button.
  6. If a Rebuild Index window pops up, press Cancel.
  7. Finally, Close the Indexing Options window.

  1. Make sure that libsumo is compiled with SUMO. The Ubuntu PPA does not include it by default. Libsumo is required by Step 4 (Routing). The other steps will work without libsumo. I think the Windows binaries released by sumo are compiled together with libsumo. 

  2. See: SUMO docs.

    In MacOS, if you installed SUMO using Homebrew, the base directory of the SUMO installation is: /opt/homebrew/share/sumo/ 

  3. See image:

    Python Installer 

  4. Required if using GTFS data inputs.  2 3