seung-lab / igneous

Scalable Neuroglancer compatible Downsampling, Meshing, Skeletonizing, Contrast Normalization, Transfers and more.
GNU General Public License v3.0
44 stars 17 forks source link

Setting up Igneous on macOS Catalina #76

Closed manoaman closed 4 years ago

manoaman commented 4 years ago

Hi,

I'm trying to set up igneous on macOS Catalina and having issues with both pre-build Docker and manual installation. Do you suggest any workaround for setting up igneous on Catalina?

$ docker run seunglab/igneous
/usr/local/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: numpy.ufunc size changed, may indicate binary incompatibility. Expected 192 from C header, got 216 from PyObject
  return f(*args, **kwds)
Traceback (most recent call last):
  File "/igneous/igneous/task_execution.py", line 12, in <module>
    from igneous import logger
  File "/igneous/igneous/logger.py", line 13, in <module>
    google_credentials_path, project=PROJECT_NAME)
  File "/usr/local/lib/python3.7/site-packages/google/cloud/client.py", line 74, in from_service_account_json
    with io.open(json_credentials_path, "r", encoding="utf-8") as json_fi:
FileNotFoundError: [Errno 2] No such file or directory: '/root/.cloudvolume/secrets/google-secret.json'

and kimimaro seems to fail during build when running pip install -r requirements.txt.

Thank you, manoaman

manoaman commented 4 years ago

I think I figured out manual setup with Python 3.7.8 instead of Python 3.8.5.

william-silversmith commented 4 years ago

Hi manoaman,

You'll need to attach some credentials to Igneous in order for it to work right. If you're not using Google Cloud Storage, that's a bug, but if you are, you can try providing your cloudvolume credentials to the docker like so:

docker run --env SQS_URL=URL_TO_SQS_QUEUE -v $HOME/.cloudvolume/secrets:/root/.cloudvolume/secrets seunglab/igneous

Running from the repository:

$ python igneous/task_execution.py --queue QUEUE_URL

Can you show me the kimimaro error?

manoaman commented 4 years ago

Hi William,

For python 3.8.5, I'm not seeing the same errors from a couple days ago but it still seems to complain for missing module when I run igneous.

% python igneous.py 
Traceback (most recent call last):
  File "igneous.py", line 5, in <module>
    import igneous.task_creation as tc
  File "/MyDir/igneous/igneous/__init__.py", line 3, in <module>
    from .tasks import *
  File "/MyDir/igneous/igneous/tasks/__init__.py", line 1, in <module>
    from .skeletonization import SkeletonTask, UnshardedSkeletonMergeTask, ShardedSkeletonMergeTask
  File "/MyDir/igneous/igneous/tasks/skeletonization.py", line 23, in <module>
    import kimimaro
  File "/Users/username/opt/anaconda3/lib/python3.8/site-packages/kimimaro/__init__.py", line 18, in <module>
    from .intake import skeletonize, DimensionError, synapses_to_targets
  File "/Users/username/opt/anaconda3/lib/python3.8/site-packages/kimimaro/intake.py", line 41, in <module>
    import kimimaro.trace
  File "/Users/username/opt/anaconda3/lib/python3.8/site-packages/kimimaro/trace.py", line 26, in <module>
    import dijkstra3d
ModuleNotFoundError: No module named 'dijkstra3d'

As for the Docker solution, no, I am not using Google Cloud Storage. Could I run Docker without using GCS?

Thanks, m

william-silversmith commented 4 years ago

I'll give a more complete answer when I'm back at my computer but this could be due to a corrupted environment. Have you tried reinstalling from a clean environment?

On Fri, Sep 4, 2020, 4:57 PM manoaman notifications@github.com wrote:

Hi William,

For python 3.8.5, I'm not seeing the same errors from a couple days ago but it still seems to complain for missing module when I run igneous.

% python igneous.py Traceback (most recent call last): File "igneous.py", line 5, in import igneous.task_creation as tc File "/MyDir/igneous/igneous/init.py", line 3, in from .tasks import * File "/MyDir/igneous/igneous/tasks/init.py", line 1, in from .skeletonization import SkeletonTask, UnshardedSkeletonMergeTask, ShardedSkeletonMergeTask File "/MyDir/igneous/igneous/tasks/skeletonization.py", line 23, in import kimimaro File "/Users/username/opt/anaconda3/lib/python3.8/site-packages/kimimaro/init.py", line 18, in from .intake import skeletonize, DimensionError, synapses_to_targets File "/Users/username/opt/anaconda3/lib/python3.8/site-packages/kimimaro/intake.py", line 41, in import kimimaro.trace File "/Users/username/opt/anaconda3/lib/python3.8/site-packages/kimimaro/trace.py", line 26, in import dijkstra3d ModuleNotFoundError: No module named 'dijkstra3d'

As for the Docker solution, no, I am not using Google Cloud Storage. Could I run Docker without using GCS?

Thanks, m

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/seung-lab/igneous/issues/76#issuecomment-687380091, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATGQSNZH5AG57HOXJNU5YDSEFIEVANCNFSM4QTP242Q .

william-silversmith commented 4 years ago

Yes, you can run Docker without using GCS, you might need AWS SQS though.

manoaman commented 4 years ago

Yes, I think I've tried reinstalling from clean environment. It fails with 3.8.5.

william-silversmith commented 4 years ago

It looks like I messed up packaging the MacOS 3.8 version of dijkstra3d somehow. I'm repairing the package.

william-silversmith commented 4 years ago

Okay! dijkstra3d 1.5.1 is released. Try pip install dijkstra3d --upgrade and let me know if that fixes things for you.

manoaman commented 4 years ago

Working great now. Thank you William!