setup_venv doesn't honour set_environment_for_install / installing lxml

In a tool_dependency.xml file I want to install python package lxml in a virtual environment, as a tool I'm building needs it. The python lxml package requires the libxml2 tool dependency. I have added a set_environment_for_install action that refers to the libxml2 repository, but when python/pip tries to install lxml it fails, apparently because it can't find the required headers. This appears to be because the setup_virtualenv action does not include install environment variables. It seems to me that install environment variables should be sourced for every following action that can do nontrivial things, not just shell commands. Alternatively, am I trying to install lxml the wrong way, is there a better way? (I'm running on python 2.6) Jan

Jan, In order to help track down this issue, could you provide the tool_dependencies.xml you're using? --Dave B. On Tue 24 Jun 2014 05:40:30 AM EDT, Jan Kanis wrote:
In a tool_dependency.xml file I want to install python package lxml in a virtual environment, as a tool I'm building needs it. The python lxml package requires the libxml2 tool dependency. I have added a set_environment_for_install action that refers to the libxml2 repository, but when python/pip tries to install lxml it fails, apparently because it can't find the required headers. This appears to be because the setup_virtualenv action does not include install environment variables.
It seems to me that install environment variables should be sourced for every following action that can do nontrivial things, not just shell commands.
Alternatively, am I trying to install lxml the wrong way, is there a better way? (I'm running on python 2.6)
Jan
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/

Ok, here is the tool_dependencies.xml. This <https://gist.github.com/JanKanis/650c88001c03ac4320fe#file-not_working_tool_dependencies> (also attached, if that survives the list) is what I would like my tool_dependencies.xml to look like, but it doesn't work because the installation of lxml fails, as it can't find the libxml2 headers. I am now using this <https://gist.github.com/JanKanis/42b9cace27b9693a0677#file-workaround_tool_dependencies-xml> as a workaround. It works because lxml is installed from a shell_command which does include the variables set from the set_environment_for_install block. This is from the blast2html tool. Jan On 24 June 2014 15:30, Dave Bouvier <dave@bx.psu.edu> wrote:
Jan,
In order to help track down this issue, could you provide the tool_dependencies.xml you're using?
--Dave B.
On Tue 24 Jun 2014 05:40:30 AM EDT, Jan Kanis wrote:
In a tool_dependency.xml file I want to install python package lxml in a virtual environment, as a tool I'm building needs it. The python lxml package requires the libxml2 tool dependency. I have added a set_environment_for_install action that refers to the libxml2 repository, but when python/pip tries to install lxml it fails, apparently because it can't find the required headers. This appears to be because the setup_virtualenv action does not include install environment variables.
It seems to me that install environment variables should be sourced for every following action that can do nontrivial things, not just shell commands.
Alternatively, am I trying to install lxml the wrong way, is there a better way? (I'm running on python 2.6)
Jan
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/

Hi Janis, that is not working and it is currently not clear if we will change it. Please see the following Trello Card: https://trello.com/c/NsLJv9la/61-clean-up-tool-shed-setup-actions One of my project during the upcoming GCC hackathon is to implement a setup_python_environment, like the R, perl or ruby ones. With that in place your use case will be easy to implement. If you get your python package up and running at that time, this would be great! Cheers, Bjoern Am 24.06.2014 18:57, schrieb Jan Kanis:
Ok, here is the tool_dependencies.xml. This <https://gist.github.com/JanKanis/650c88001c03ac4320fe#file-not_working_tool_dependencies> (also attached, if that survives the list) is what I would like my tool_dependencies.xml to look like, but it doesn't work because the installation of lxml fails, as it can't find the libxml2 headers. I am now using this <https://gist.github.com/JanKanis/42b9cace27b9693a0677#file-workaround_tool_dependencies-xml> as a workaround. It works because lxml is installed from a shell_command which does include the variables set from the set_environment_for_install block. This is from the blast2html tool.
Jan
On 24 June 2014 15:30, Dave Bouvier <dave@bx.psu.edu> wrote:
Jan,
In order to help track down this issue, could you provide the tool_dependencies.xml you're using?
--Dave B.
On Tue 24 Jun 2014 05:40:30 AM EDT, Jan Kanis wrote:
In a tool_dependency.xml file I want to install python package lxml in a virtual environment, as a tool I'm building needs it. The python lxml package requires the libxml2 tool dependency. I have added a set_environment_for_install action that refers to the libxml2 repository, but when python/pip tries to install lxml it fails, apparently because it can't find the required headers. This appears to be because the setup_virtualenv action does not include install environment variables.
It seems to me that install environment variables should be sourced for every following action that can do nontrivial things, not just shell commands.
Alternatively, am I trying to install lxml the wrong way, is there a better way? (I'm running on python 2.6)
Jan
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/

That indeed looks like a better solution. I'll use the workaround for now and update once setup_python_environment is implemented. On 25 June 2014 13:33, Björn Grüning <bjoern.gruening@gmail.com> wrote:
Hi Janis,
that is not working and it is currently not clear if we will change it. Please see the following Trello Card:
https://trello.com/c/NsLJv9la/61-clean-up-tool-shed-setup-actions
One of my project during the upcoming GCC hackathon is to implement a setup_python_environment, like the R, perl or ruby ones. With that in place your use case will be easy to implement. If you get your python package up and running at that time, this would be great!
Cheers, Bjoern
Am 24.06.2014 18:57, schrieb Jan Kanis:
Ok, here is the tool_dependencies.xml. This <https://gist.github.com/JanKanis/650c88001c03ac4320fe# file-not_working_tool_dependencies>
(also attached, if that survives the list) is what I would like my tool_dependencies.xml to look like, but it doesn't work because the installation of lxml fails, as it can't find the libxml2 headers. I am now using this <https://gist.github.com/JanKanis/42b9cace27b9693a0677# file-workaround_tool_dependencies-xml>
as a workaround. It works because lxml is installed from a shell_command which does include the variables set from the set_environment_for_install block. This is from the blast2html tool.
Jan
On 24 June 2014 15:30, Dave Bouvier <dave@bx.psu.edu> wrote:
Jan,
In order to help track down this issue, could you provide the tool_dependencies.xml you're using?
--Dave B.
On Tue 24 Jun 2014 05:40:30 AM EDT, Jan Kanis wrote:
In a tool_dependency.xml file I want to install python package lxml in
a virtual environment, as a tool I'm building needs it. The python lxml package requires the libxml2 tool dependency. I have added a set_environment_for_install action that refers to the libxml2 repository, but when python/pip tries to install lxml it fails, apparently because it can't find the required headers. This appears to be because the setup_virtualenv action does not include install environment variables.
It seems to me that install environment variables should be sourced for every following action that can do nontrivial things, not just shell commands.
Alternatively, am I trying to install lxml the wrong way, is there a better way? (I'm running on python 2.6)
Jan
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
participants (3)
-
Björn Grüning
-
Dave Bouvier
-
Jan Kanis