Setup

System structures

To run PyJEM, you need Python and several supporting libraries (dependencies). Managing these can be complicated:

Problem without proper setup:

  • Different Python projects need different versions of libraries

  • If library A needs version 1.0 and project B needs version 2.0 of the same library, they conflict

  • Installing libraries globally can break other projects

Solution: Use Miniconda + virtual environment (vjem)

Your PC
├── System Python (do NOT use for PyJEM)
├── Miniconda (Python distribution with conda package manager)
│   ├── vjem (isolated virtual environment)
│   │   ├── Python 3.x
│   │   ├── PyJEM
│   │   ├── opencv-python
│   │   ├── numpy
│   │   └── ... (other dependencies)
│   └── ... (other virtual environments)

Benefits of this structure:

  1. Isolation: PyJEM and its dependencies are contained in vjem. Other projects on your PC are unaffected.

  2. Package management: The conda package manager (in Miniconda) handles dependency conflicts automatically.

  3. Reproducibility: You can recreate the exact same environment on another PC.

Installation order

The installation must follow this order because each step depends on the previous one:

Step 1: Install Miniconda

  • Miniconda provides the conda command, which you need to create virtual environments.

  • Without Miniconda, you cannot create the vjem environment.

PC → Miniconda (installed)

Step 2: Install vjem(virtual environment)

  • Create a separate environment named “vjem” within the Miniconda environment you created in Step 1.

  • vjem is organized by Python version and includes its own Python interpreter and package space.

  • Without vjem, PyJEM would be installed globally and could conflict with other projects.

Miniconda → conda command → vjem (created)

Step 3: Install PyJEM on vjem

  • You activate the vjem environment to use its isolated Python.

  • PyJEM will be installed within vjem. In some cases, dependency libraries may also be installed.

  • PyJEM can only be installed after vjem exists.

vjem (activated) → pip/conda install PyJEM → PyJEM ready to use