Hello ,
I am trying to run galaxy as a service. I am using a galaxy.service file:
[Unit]
Description=Galaxy
[Service]
ExecStart=/bin/sh /theDir/galaxy/run.sh -pidfile=/var/run/galaxy.pid
Restart=always
RestartSec=5
SyslogIdentifier=galaxy
[Install]
WantedBy=multi-user.target
but as soon as the service starts to run after a few seconds it stops.
I checked the journalctl and I show it gives me this error:
Activating virtualenv at .venv
Ignoring indexes: https://pypi.python.org/simple
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 209, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 328, in runwb.build(autobuilding=True)
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 748, in build
self.requirement_set.prepare_files(self.finder)
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 360, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 448, in _prepare_file
req_to_install, finder)
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 387, in _check_skip_installed
req_to_install.check_if_exists()
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 1011, in check_if_exists
self.req.project_name
AttributeError: 'Requirement' object has no attribute 'project_name'
myservice.service: Main process exited, code=exited, status=1/FAILURE
I must note that I am using python from anaconda.
which python:
/home/ggeo1/anaconda2/bin/python
So I think this is the issue.
The piece of code in galaxy run.sh file:
# If there is a .venv/ directory, assume it contains a virtualenv that we
# should run this instance in.
GALAXY_VIRTUAL_ENV="${GALAXY_VIRTUAL_ENV:-.venv}"
if [ -d "$GALAXY_VIRTUAL_ENV" -a -z "$skip_venv" ];
then
[ -n "$PYTHONPATH" ] && { echo 'Unsetting $PYTHONPATH'; unset PYTHONPATH; }
printf "Activating virtualenv at $GALAXY_VIRTUAL_ENV\n"
. "$GALAXY_VIRTUAL_ENV/bin/activate"
fi
seems to intefere with pythonpath?
What can I do for this?
I tried to remove the line [ -n "$PYTHONPATH" ] && { echo 'Unsetting $PYTHONPATH'; unset PYTHONPATH; }
but I have the same error.
It seems the run.sh is expecting the environment variables to be set from the environment.
I tiried also ti start the script like: run.sh --skip-venv
.
Then , when I start the service, it seems to start , it starts
Collecting SQLAlchemy==1.0.8 (from -r requirements.txt (line 5))
Downloading https://wheels.galaxyproject.org/packages/SQLAlchemy-1.0.8-cp27-cp27mu-manylinux1_x86_64....
..... but then it shows again the same error as above and stops and starts again and so on.