galaxyproject / pulsar

Distributed job execution application built for Galaxy
https://pulsar.readthedocs.io
Apache License 2.0
37 stars 50 forks source link

Installation and launching Error: AttributeError: 'tuple' object has no attribute 'type' #210

Closed AliNemat closed 1 year ago

AliNemat commented 4 years ago

Hello,

I have tried to follow "Quickstart" installation method to install and launch "pulsar". I was able to install and run it on a Mac operating system. However, I cannot install ad run it on a "CentOS 7", and "Ubuntu 16.04 LTS" operating system. The error that i am getting is always: "AttributeError: 'tuple' object has no attribute 'type' .

my steps are the following: mkdir pulsar cd pulsar virtualenv venv . venv/bin/activate pip install pulsar-app pulsar-config pulsar

More details about the error is given below: (venv) amn5829@Pulse:~/pulsar2/pulsar$ pulsar Sourcing file ./local_env.sh Starting pulsar with command [paster server "./server.ini" ""] /home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/pulsar/main.py:219: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. app_conf = yaml.load(f) or {} 2019-11-26 15:08:10,767 INFO [pulsar.core][MainThread] Starting the Pulsar without a toolbox to white-list.Ensure this application is protected by firewall or a configured private token. Traceback (most recent call last): File "/home/amn5829/pulsar2/pulsar/venv/bin/paster", line 8, in sys.exit(run()) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/paste/script/command.py", line 102, in run invoke(command, command_name, options, args[1:]) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/paste/script/command.py", line 141, in invoke exit_code = runner.run(args) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/paste/script/command.py", line 236, in run result = self.command() File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/paste/script/serve.py", line 284, in command relative_to=base, global_conf=vars) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/paste/script/serve.py", line 329, in loadapp kw) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/paste/deploy/loadwsgi.py", line 253, in loadapp return loadobj(APP, uri, name=name, kw) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/paste/deploy/loadwsgi.py", line 278, in loadobj return context.create() File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/paste/deploy/loadwsgi.py", line 715, in create return self.object_type.invoke(self) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/paste/deploy/loadwsgi.py", line 152, in invoke return fix_call(context.object, context.global_conf, *context.local_conf) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/paste/deploy/util.py", line 55, in fix_call val = callable(args, kw) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/pulsar/web/wsgi.py", line 19, in app_factory webapp = init_webapp(ini_path=configuration_file, local_conf=local_conf) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/pulsar/web/wsgi.py", line 25, in init_webapp pulsar_app = PulsarApp(app_conf) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/pulsar/core.py", line 52, in init self.setup_dependency_manager(conf) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/pulsar/core.py", line 147, in setup_dependency_manager self.dependency_manager = build_dependency_manager(app_config_dict=conf, default_tool_dependency_dir=default_tool_dependency_dir) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/galaxy/tool_util/deps/init.py", line 90, in build_dependency_manager dependency_manager = DependencyManager(**dependency_manager_kwds) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/galaxy/tool_util/deps/init.py", line 129, in init self.dependency_resolvers = self.__parse_resolver_conf_plugins(plugin_source) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/galaxy/tool_util/deps/init.py", line 314, in __parse_resolver_conf_plugins return plugin_config.load_plugins(self.resolver_classes, plugin_source, extra_kwds, plugin_type_keys=['type', 'resolver_type']) File "/home/amn5829/pulsar2/pulsar/venv/lib/python3.5/site-packages/galaxy/util/plugin_config.py", line 40, in load_plugins if plugin_source.type == "xml": AttributeError: 'tuple' object has no attribute 'type'

I am wondering if you can help me about it. Thank you.

thanhleviet commented 4 years ago

I guess you have installed galaxy-util 19.9.0.

Temp fix: pip install galaxy-util==19.9.0.dev6

AliNemat commented 4 years ago

Hi @thanhleviet , Thank you very much for your help. I followed your suggestion and it started working perfectly fine! So in case it helps any one else: I use the following steps and it is working.

mkdir pulsar cd pulsar virtualenv venv . venv/bin/activate pip install pulsar-app pip install galaxy-util==19.9.0.dev6 pulsar-config pulsar

Yes, you are right. As I looked through the installed packages, pulsar by itself installs "galaxy-util 19.9.0". I should tell you I spent 4 days trying everything to make it work and it was not working and your suggestion was a big relief!