Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] 1.0 doesn't have arm wheels #4437

Closed
1 task done
thomasaarholt opened this issue Dec 5, 2021 · 2 comments
Closed
1 task done

[Bug] 1.0 doesn't have arm wheels #4437

thomasaarholt opened this issue Dec 5, 2021 · 2 comments
Labels
bug Something isn't working install

Comments

@thomasaarholt
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I think I have identified this correctly, but please take it with a pinch of salt. The following gives an error on python 3.10, and not on 3.9. Please also see snowflakedb/snowflake-connector-python#986, I believe this should fix the M1 mac issues.

I was taking a look at dbt 1.0 to see if the new version runs on my M1 Macbook Pro. I did this in a new python 3.10 env: To install it I first installed the development version of snowflake-connector-python, since only master does not give a pyarrow 5.0 error, since it has been bumped to 6.0 on master:
pip install https://github.com/snowflakedb/snowflake-connector-python/archive/refs/heads/master.zip

Then I installed dbt-core by pip install dbt-core, and reactivated my environment (and checked which dbt).

Now when I run dbt, I get the following error and traceback:

Traceback (most recent call last):
  File "/Users/thomas/mambaforge/envs/py10dbt/bin/dbt", line 33, in <module>
    sys.exit(load_entry_point('dbt-core==1.0.0', 'console_scripts', 'dbt')())
  File "/Users/thomas/mambaforge/envs/py10dbt/bin/dbt", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/Users/thomas/mambaforge/envs/py10dbt/lib/python3.10/importlib/metadata/__init__.py", line 162, in load
    module = import_module(match.group('module'))
  File "/Users/thomas/mambaforge/envs/py10dbt/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/Users/thomas/mambaforge/envs/py10dbt/lib/python3.10/site-packages/dbt/main.py", line 18, in <module>
    import dbt.task.build as build_task
  File "/Users/thomas/mambaforge/envs/py10dbt/lib/python3.10/site-packages/dbt/task/build.py", line 1, in <module>
    from .run import RunTask, ModelRunner as run_model_runner
  File "/Users/thomas/mambaforge/envs/py10dbt/lib/python3.10/site-packages/dbt/task/run.py", line 8, in <module>
    from .compile import CompileRunner, CompileTask
  File "/Users/thomas/mambaforge/envs/py10dbt/lib/python3.10/site-packages/dbt/task/compile.py", line 3, in <module>
    from .runnable import GraphRunnableTask
  File "/Users/thomas/mambaforge/envs/py10dbt/lib/python3.10/site-packages/dbt/task/runnable.py", line 54, in <module>
    from dbt.parser.manifest import ManifestLoader
  File "/Users/thomas/mambaforge/envs/py10dbt/lib/python3.10/site-packages/dbt/parser/__init__.py", line 8, in <module>
    from .models import ModelParser  # noqa
  File "/Users/thomas/mambaforge/envs/py10dbt/lib/python3.10/site-packages/dbt/parser/models.py", line 17, in <module>
    from dbt_extractor import ExtractionError, py_extract_from_source  # type: ignore
ImportError: dlopen(/Users/thomas/mambaforge/envs/py10dbt/lib/python3.10/site-packages/dbt_extractor.cpython-310-darwin.so, 0x0002): tried: '/Users/thomas/mambaforge/envs/py10dbt/lib/python3.10/site-packages/dbt_extractor.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/dbt_extractor.cpython-310-darwin.so' (no such file), '/usr/lib/dbt_extractor.cpython-310-darwin.so' (no such file)

I tried pip install dbt-core --no-binary :all: to not use a wheel, but either that didn't do what I think it does or it didn't work, I still get the same error.

M1 support has been quite desired (see #3239), and people might think this is still an issue if they try on their 3.10 environments.

Expected Behavior

No response

Steps To Reproduce

No response

Relevant log output

No response

Environment

- OS: macos 12.0.1
- Python: 3.9 and 3.10
- dbt: 1.0

What database are you using dbt with?

snowflake

Additional Context

No response

@thomasaarholt thomasaarholt added bug Something isn't working triage labels Dec 5, 2021
@jtcohen6
Copy link
Contributor

jtcohen6 commented Dec 6, 2021

@thomasaarholt Thanks for the report, as well as the comments on the associated issues!

We're working on building ARM / M1 wheels for the dbt-extractor dependency: dbt-labs/dbt-extractor#41

I believe this is the final step toward true native support for dbt-core on M1s. It sounds like dbt-snowflake will also be supported natively, thanks to updated dependencies in recent versions of snowflake-connector-python (snowflakedb/snowflake-connector-python#986 (comment)).

FWIW Python 3.10 is not yet officially supported by dbt-core, as we aren't running automated tests in py10 environments. I'm glad you've managed to get this working all the same.

@jtcohen6 jtcohen6 removed the triage label Dec 6, 2021
@jtcohen6
Copy link
Contributor

Resolved by dbt-labs/dbt-extractor#41

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working install
Projects
None yet
Development

No branches or pull requests

2 participants