Parla.py icon indicating copy to clipboard operation
Parla.py copied to clipboard

Parla components import order errors

Open hfingler opened this issue 4 years ago • 1 comments

Some import orders cause errors, for example:

from parla import Parla
from parla.cpu import *
from parla.tasks import *

Works, but the following does not:

from parla import Parla
from parla.tasks import *
from parla.cpu import *
Traceback (most recent call last):
  File "./bin/run_2d.py", line 8, in <module>
    from barneshut.implementations import SimpleBarnesHut, ProcessPoolBarnesHut, AsyncBarnesHut, ParlaBarnesHut
  File "/home/hfingler/parla/barnes-hut/2d-barnes-hut-python/barneshut/implementations/__init__.py", line 4, in <module>
    from .barneshut.parla       import ParlaBarnesHut
  File "/home/hfingler/parla/barnes-hut/2d-barnes-hut-python/barneshut/implementations/barneshut/parla.py", line 5, in <module>
    from parla.tasks import *
  File "/home/hfingler/parla/.bh/lib/python3.7/site-packages/parla/tasks.py", line 22, in <module>
    from parla import task_runtime, array
  File "/home/hfingler/parla/.bh/lib/python3.7/site-packages/parla/array.py", line 10, in <module>
    from parla.tasks import get_current_devices
ImportError: cannot import name 'get_current_devices' from 'parla.tasks' (/home/hfingler/parla/.bh/lib/python3.7/site-packages/parla/tasks.py)

hfingler avatar Feb 09 '21 21:02 hfingler