Sacad program crashes with error "pythonA-bitarray (no such file)"
Sacad is a popular python program to download mp3 album covers. It installs with no issue but then it does not run:
[~/Documents]$ pip install sacad
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: sacad in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (2.5.1)
Requirement already satisfied: fake-useragent>=0.1.11 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (from sacad) (0.1.11)
Requirement already satisfied: aiohttp~=3.6 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (from sacad) (3.8.1)
Requirement already satisfied: appdirs>=1.4.0 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (from sacad) (1.4.4)
Requirement already satisfied: tqdm>=4.28.1 in /private/var/containers/Bundle/Application/6239C64E-56B3-46F3-BC15-F23C7B55C088/a-Shell.app/Library/lib/python3.9/site-packages (from sacad) (4.62.3)
Requirement already satisfied: pillow>=2.7.0 in /private/var/containers/Bundle/Application/6239C64E-56B3-46F3-BC15-F23C7B55C088/a-Shell.app/Library/lib/python3.9/site-packages (from sacad) (9.0.1)
Requirement already satisfied: web-cache>=1.1.0 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (from sacad) (1.1.0)
Requirement already satisfied: cssselect>=0.9.1 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (from sacad) (1.1.0)
Requirement already satisfied: unidecode>=1.1.1 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (from sacad) (1.3.4)
Requirement already satisfied: bitarray>=0.8.3 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (from sacad) (2.5.1)
Requirement already satisfied: lxml>=4.0.0 in /private/var/containers/Bundle/Application/6239C64E-56B3-46F3-BC15-F23C7B55C088/a-Shell.app/Library/lib/python3.9/site-packag
es (from sacad) (4.7.1)
Requirement already satisfied: mutagen>=1.31 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (f
rom sacad) (1.45.1)
Requirement already satisfied: multidict<7.0,>=4.5 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packa
ges (from aiohttp~=3.6->sacad) (6.0.2)
Requirement already satisfied: attrs>=17.3.0 in /private/var/containers/Bundle/Application/6239C64E-56B3-46F3-BC15-F23C7B55C088/a-Shell.app/Library/lib/python3.9/site-pack
ages (from aiohttp~=3.6->sacad) (21.4.0)
Requirement already satisfied: yarl<2.0,>=1.0 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (
from aiohttp~=3.6->sacad) (1.7.2)
Requirement already satisfied: frozenlist>=1.1.1 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-package
s (from aiohttp~=3.6->sacad) (1.3.0)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/si
te-packages (from aiohttp~=3.6->sacad) (4.0.2)
Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /private/var/containers/Bundle/Application/6239C64E-56B3-46F3-BC15-F23C7B55C088/a-Shell.app/Library/lib/pyth
on3.9/site-packages (from aiohttp~=3.6->sacad) (2.0.12)
Requirement already satisfied: aiosignal>=1.1.2 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages
(from aiohttp~=3.6->sacad) (1.2.0)
Requirement already satisfied: idna>=2.0 in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (from
yarl<2.0,>=1.0->aiohttp~=3.6->sacad) (3.3)
[~/Documents]$
[~/Documents]$ sacad
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sacad 5 <module>
from sacad import cl_main
__init__.py 17 <module>
from sacad import colored_logging, sources
__init__.py 3 <module>
from sacad.sources.amazoncd import AmazonCdCoverSource, AmazonCdCoverSourceResult # noqa: F401
amazoncd.py 9 <module>
from sacad.cover import CoverImageFormat, CoverImageMetadata, CoverSourceQuality, CoverSourceResult
cover.py 18 <module>
import bitarray
__init__.py 14 <module>
from bitarray._bitarray import (bitarray, decodetree, _sysinfo,
ImportError:
dlopen(/private/var/containers/Bundle/Application/6239C64E-56B3-46F3-BC15-F23C7B55C088/a-Shell.app/Frameworks/pythonA-bitarray._bitarray.framework/pythonA-bitarray._bitarr
ay, 0x0002): tried: '/private/var/containers/Bundle/Application/6239C64E-56B3-46F3-BC15-F23C7B55C088/a-Shell.app/Frameworks/pythonA-bitarray._bitarray.framework/pythonA-bi
tarray._bitarray' (no such file), '/System/Library/Frameworks/pythonA-bitarray._bitarray.framework/pythonA-bitarray._bitarray' (no such file)
[~/Documents]$
It seems that it does not find the pythonA-bitarray library. But the bitarray library is installed according to pip:
[~/Documents]$ pip install bitarray
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: bitarray in /private/var/mobile/Containers/Data/Application/4BB4936E-61EE-4FC3-AAA6-358B709278D7/Library/lib/python3.9/site-packages (2.5.1)
[~/Documents]$
Any idea?
Now that is a good question. bitarray is not part of a-Shell standard distribution, so something or someone installed it earlier.
That something installed a compiled version of the dynamic library, but that version is compiled for Arm 64 OSX (I think), so it cannot work with iOS.
So what do you suggest?
No much to suggest here, I'm afraid. The best solution would be to have a version of sacad that does not depend on bitarray. I think version 2.1.5 should do it, but that sends you quite a while back.