Ubuntu 14.04.5 and latest clone of Galaxy. Confirmed proper installation of numpy-1.11.3 and bx-python-0.7.3 but still get the following error up start up with sudo sh run.sh --no-replace-pip:
ImportError: No module named bigbed_file
Ideas?
Ubuntu 14.04.5 and latest clone of Galaxy. Confirmed proper installation of numpy-1.11.3 and bx-python-0.7.3 but still get the following error up start up with sudo sh run.sh --no-replace-pip:
ImportError: No module named bigbed_file
Ideas?
Update. Here is the procedure I used to get the latest version of galaxy for a local installation running on Ubuntu - 14..04.5 with python 2.7.6 and 16.04.1 with 2.7.12 (removed version 3) - after install and applying apt-get updates, and install git.
Install development libraries for python: sudo apt-get install build-essential libpython-dev python2.7-dev zlib1g-dev libffi-dev libssl-dev openssl
Install latest version of pip: sudo curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" sudo python get-pip.py
Install c-extension for python: sudo pip install cython
Git clone galaxy and update permissions: sudo git clone https://github.com/galaxyproject/galaxy.git sudo chmod 777 -R galaxy/
Modify galaxy/requirements.txt file: Change order of libraries so that numpy installs before bx-python and comment out the "pysam==0.8.4+gx5" module. This is the trick to prevent the various modules missing errors that occur.
Modify galaxy/scripts/common_startup.sh file (starting on line 139) as follows: This modification was needed due to SSL issues I encountered while trying to pull down the various python libraries/modules listed in the requirements file.
Modify to removed https and the simple directory -> : ${GALAXY_WHEELS_INDEX_URL:="http://wheels.galaxyproject.org/"}
Add trusted host -> : ${GALAXY_TRUST_HOST:="wheels.galaxyproject.org"}
Modify to included trusted host -> pip install -r requirements.txt --extra-index-url ${GALAXY_WHEELS_INDEX_URL} --trusted-host ${GALAXY_TRUST_HOST}
From the main galaxy folder, run the start-up script - this will fail with a not able to find pysam module as expected since it is commented out of the requirements document:
sudo sh run.sh --no-replace-pip
After this fails, update the permissions and navigate to the newly created virtual environment galaxy/.ven and activate:
sudo chmod 777 -R .venv/
cd .venv/bin/
source ./activate
Use pip to install the latest pysam module - 0.9.1.4 then deactivate the environment (Do not do this as sudo.)
pip install pysam
deactivate
Note that in my testing, using pysam 0.8.4+gx5 from the default wheel for galaxy isn't recognized later on during the install.
Create galaxy/config/galaxy.ini file and update as follows:
cp galaxy/config/galaxy.ini.sample galaxy/config/galaxy.ini
sudo vi galaxy/config/galaxy.ini
The port on which to listen. port = 8080
The address on which to listen. By default, only listen to localhost (Galaxy will not be accessible over the network). Use '0.0.0.0' to listen on all available network interfaces. host = 0.0.0.0
Run the start script again and it should complete without issue:
sudo sh run.sh --no-replace-pip
I know there is more elegant way of doing this; however, I just needed to get a local development environment running for testing object based storage.
Thanks for posting all of this, it's very informative. What's interesting here is that pip is not downloading the prebuilt binary wheels on wheels.galaxyproject.org, which is why you're having to go through all the trouble of installing all the dependencies of building them from source.
What version of pip is being installed in .venv
? Galaxy would not replace the system version of pip if you did not pass --no-replace-pip
, it's only going to ensure that the version in .venv
is at least 8.1.
What version of pip are you using?
Thanks for the response as it reminded me that I need to update this thread with relevant information. My version of pip is: pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7) I installed the latest version of pip and used --no-replace-pip when running the run script
So look to the comments below for more details on how I got galaxy running consistently.