setup local server (on MacOS); No module named 'boltons'

I’m trying to follow these steps: Get Galaxy - Galaxy Community Hub
and get:
$ sh run.sh

Ignoring zstandard: markers ‘python_version >= “3.8” and python_version < “3.13”’ don’t match your environment

ModuleNotFoundError: No module named ‘boltons’

M1P~/git/galaxy$ python
Python 3.9.6 (default, Aug 9 2024, 14:24:13)
[Clang 16.0.0 (clang-1600.0.26.3)] on darwin

M1P~/git/galaxy$ ls -aR|grep boltons
M1P~/git/galaxy$

Welcome, @rheiland

So, you will want to create a conda (not python) virtual environment, pull the repository down into there, then start up Galaxy. This will allow all of the startup scripts to install dependencies.

We have tutorials for the full installation and configuration here. You don’t need to do everything but maybe helps to put things into context?

Hi @rheiland

I had some feedback from our developers:

  1. You do not need to set up a conda venv unless you already know how to do this, and want to. Miniconda is what you would use on a MAC OSX.

  2. If you update Python on your computer, that can solve the error you had. It will need to be a version that is one of the versions Galaxy was looking for in your error message – any in between those. You do not need to make this your default, you can just install then set the PATH in your terminal window to use it.

We don’t have exact instructions for those since it is a bit outside of being Galaxy specific. But a general web search should find instructions you can follow. Once you get that preparation done, pull down the most current release of Galaxy (24.1 Galaxy Release (June 2024) — Galaxy Project 24.1.0.dev0 documentation) and try to start it up again. That will produce a process that installs everything else that you need.

Please let us know what happens! :hammer_and_wrench:

The output seems to indicate that an incompatible python version was used, while you do have python 3.9 installed. This can happen if the new shell you launch with sh run.sh doesn’t set the same PATH variable. You can manually create a virtualenv with python -m venv .venv inside the galaxy directory and then launch the run.sh script again. If a .venv directory already exists in that location you can remove it before creating a new one.

2 Likes