Hi, I've just resolved a similar problem running uwsgi under supervisord, which turned out to be a typo setting the path environment variable in the supervisord config file. Most things worked ok but some things produced errors finding pysam and sqlalchemy (since the system python was being used in preference to the galaxy venv), while jobs would mysteriously fail with a 'file not found' error. Took some tracking down... James -- Dr. James Abbott Lead Bioinformatician Bioinformatician Data Science Group Imperial College London ________________________________ From: galaxy-dev <galaxy-dev-bounces@lists.galaxyproject.org> on behalf of Gudrun Amedick <amedick@itsc.uni-luebeck.de> Sent: Wednesday, June 28, 2017 1:49:44 PM To: Maximilian Friedersdorff Cc: galaxy-dev@lists.galaxyproject.org Subject: Re: [galaxy-dev] Python modules not found when starting with init system Hi, I know. To my understaunding of virtual environments, this shouldn't make a difference. As I said, I don't really get it. It looks like Python tries to find pysam outside of the virtual environment for some reason, that's why I'm guessing PATH. I'm curious though, and if someone knows why this solution works, I'd be happy to hear it too. Glad I could help. Gudrun Amedick Gudrun Amedick IT-Systemtechnik UNIVERSITÄT ZU LÜBECK IT-Service-Center Ratzeburger Allee 160 23562 Lübeck Tel +49 451 3101 2035 Fax +49 451 3101 2004 amedick@itsc.uni-luebeck.de www.itsc.uni-luebeck.de<http://www.itsc.uni-luebeck.de> Am Mittwoch, den 28.06.2017, 10:59 +0100 schrieb Maximilian Friedersdorff:
On Tue, Jun 27, 2017 at 03:41:27PM +0200, Gudrun Amedick wrote:
Hi,
i ran into that too (on debian 8). I'm not that familiar with virtual environments but this is what I found out.
It looks like the virtual environment doesn't get activated properly in the shipped ini.d-file (it is the shipped one, right?). If I add ". /path/to/.venv/bin/activate" to it, everything runs just fine. "run.sh" has this line. The init.d-file hasn't. It just calls the .venv- python directly. It seems like that's not fully equivalent to activating .venv and running python in there. I don't really know why. I'm guessing PATH-magic.
Hope that helps a bit.
Gudrun Amedick
Hi,
The thing is that running the python interpreter in the virtual environment _should_ take care of that anyway. The provided debian init script even says as much: "A simple way to activate this virtualenv is to use the python interpreter in <GALAXY_DIR>/.venv".
In any case, explicitly activating the virtualenv solves the problem. Thanks for the pointer Gudrun.
Maybe a dev can chime in here.
Many Thanks
Max
-------------------------------------------------------------------- Un o’r 4 prifysgol uchaf yn y DU a’r orau yng Nghymru am fodlonrwydd myfyrwyr. (Arolwg Cenedlaethol y Myfyrwyr 2016) www.aber.ac.uk<http://www.aber.ac.uk>
Top 4 UK university and best in Wales for student satisfaction (National Student Survey 2016) www.aber.ac.uk<http://www.aber.ac.uk>