# Galaxy Dependencies Management *The architecture of Galaxy's dependencies.* --- ### Learning Questions - How does Galaxy manage dependencies? - What is the virtualenv used for? - Where do JavaScript dependencies come from? --- ### Learning Objectives - Understand Python dependency management - Understand JavaScript dependency management - Learn about the wheels server --- ### Dependencies - Python `script/common_startup.sh` sets up a `virtualenv` with required dependencies in `$GALAXY_ROOT/.venv` (or `$GALAXY_VIRTUAL_ENV` if set). - Check for existing virtual environment, if it doesn't exist check for `virtualenv`. - If `virtualenv` exists, use it. Otherwise download it as a script and setup a virtual environment using it. - `. "$GALAXY_VIRTUAL_ENV/bin/activate"` - Upgrade to latest `pip` to allow use of binary wheels. - `pip install -r requirements.txt --index-url https://wheels.galaxyproject.org/simple` - Install dozens of dependencies. --- ### Dependencies - JavaScript - Dependencies are defined in `client/package.json`. - These are fetched from npm and compiled into bundles as part of `make client` and related `Makefile` targets.
Use arrow keys to navigate • P for presenter mode • F for fullscreen