wc-api-python icon indicating copy to clipboard operation
wc-api-python copied to clipboard

Install issue related to Apple silicon

Open kornpow opened this issue 1 year ago • 0 comments

Did a basic install of the library:

pip install woocommerce

Tried to follow example:

from woocommerce import API
Python 3.9.5 (default, May  4 2021, 03:36:27) 
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from woocommerce import API
Traceback (most recent call last):
  File "/Users/user/Library/Python/3.9/lib/python/site-packages/requests/compat.py", line 11, in <module>
    import chardet
ModuleNotFoundError: No module named 'chardet'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/user/Library/Python/3.9/lib/python/site-packages/woocommerce/__init__.py", line 17, in <module>
    from woocommerce.api import API
  File "/Users/user/Library/Python/3.9/lib/python/site-packages/woocommerce/api.py", line 12, in <module>
    from requests import request
  File "/Users/user/Library/Python/3.9/lib/python/site-packages/requests/__init__.py", line 45, in <module>
    from .exceptions import RequestsDependencyWarning
  File "/Users/user/Library/Python/3.9/lib/python/site-packages/requests/exceptions.py", line 9, in <module>
    from .compat import JSONDecodeError as CompatJSONDecodeError
  File "/Users/user/Library/Python/3.9/lib/python/site-packages/requests/compat.py", line 13, in <module>
    import charset_normalizer as chardet
  File "/Users/user/Library/Python/3.9/lib/python/site-packages/charset_normalizer/__init__.py", line 24, in <module>
    from .api import from_bytes, from_fp, from_path, is_binary
  File "/Users/user/Library/Python/3.9/lib/python/site-packages/charset_normalizer/api.py", line 5, in <module>
    from .cd import (
  File "/Users/user/Library/Python/3.9/lib/python/site-packages/charset_normalizer/cd.py", line 14, in <module>
    from .md import is_suspiciously_successive_range
ImportError: dlopen(/Users/user/Library/Python/3.9/lib/python/site-packages/charset_normalizer/md.cpython-39-darwin.so, 0x0002): tried: '/Users/user/Library/Python/3.9/lib/python/site-packages/charset_normalizer/md.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/user/Library/Python/3.9/lib/python/site-packages/charset_normalizer/md.cpython-39-darwin.so' (no such file), '/Users/user/Library/Python/3.9/lib/python/site-packages/charset_normalizer/md.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

The issue seems to be with chardet, but the secondary issue was related to architecture: (have 'arm64', need 'x86_64').

Solution

pip install chardet

Manually installing chardet fixed the issue.

kornpow avatar Dec 18 '23 19:12 kornpow