LaTeX-OCR
LaTeX-OCR copied to clipboard
[M1 Mac] Preparing metadata (pyproject.toml) did not run successfully.
Here is my attempt to install after typing pip install pix2tex[gui]:
...
[good so far except for this]
...
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [29 lines of output]
Traceback (most recent call last):
File "/Users/XXXXX/miniconda3/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 144, in prepare_metadata_for_build_wheel
hook = backend.prepare_metadata_for_build_wheel
AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/XXXXX/miniconda3/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 351, in <module>
main()
File "/Users/XXXXX/miniconda3/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 333, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/Users/XXXXX/miniconda3/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 148, in prepare_metadata_for_build_wheel
whl_basename = backend.build_wheel(metadata_directory, config_settings)
File "/private/var/folders/jg/k3zgqw6n03z_knw_kyq5jmqh0000gn/T/pip-build-env-yf7rv9d7/overlay/lib/python3.10/site-packages/sipbuild/api.py", line 46, in build_wheel
project = AbstractProject.bootstrap('wheel',
File "/private/var/folders/jg/k3zgqw6n03z_knw_kyq5jmqh0000gn/T/pip-build-env-yf7rv9d7/overlay/lib/python3.10/site-packages/sipbuild/abstract_project.py", line 87, in bootstrap
project.setup(pyproject, tool, tool_description)
File "/private/var/folders/jg/k3zgqw6n03z_knw_kyq5jmqh0000gn/T/pip-build-env-yf7rv9d7/overlay/lib/python3.10/site-packages/sipbuild/project.py", line 585, in setup
self.apply_user_defaults(tool)
File "/private/var/folders/jg/k3zgqw6n03z_knw_kyq5jmqh0000gn/T/pip-install-0rrvvyha/pyqt5_13c55c14859b4c489fd026c913ef146b/project.py", line 68, in apply_user_defaults
super().apply_user_defaults(tool)
File "/private/var/folders/jg/k3zgqw6n03z_knw_kyq5jmqh0000gn/T/pip-build-env-yf7rv9d7/overlay/lib/python3.10/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
super().apply_user_defaults(tool)
File "/private/var/folders/jg/k3zgqw6n03z_knw_kyq5jmqh0000gn/T/pip-build-env-yf7rv9d7/overlay/lib/python3.10/site-packages/sipbuild/project.py", line 236, in apply_user_defaults
self.builder.apply_user_defaults(tool)
File "/private/var/folders/jg/k3zgqw6n03z_knw_kyq5jmqh0000gn/T/pip-build-env-yf7rv9d7/overlay/lib/python3.10/site-packages/pyqtbuild/builder.py", line 69, in apply_user_defaults
raise PyProjectOptionException('qmake',
sipbuild.pyproject.PyProjectOptionException
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Any pointers as to possible causes?
I have the same issue with Mac m1
Same issue with Mac M2
Same issue with Mac m1
Looks like a problem with pyqt5 (Related #236)
I haven't gotten around to upgrade versions yet, but you can try out the pyqt6 fork like this
pip install "git+https://github.com/JoepdeJong/LaTeX-OCR.git@fix/m2-apple-silicon#egg=pix2tex[gui]"
Looks like a problem with pyqt5 (Related #236)
I haven't gotten around to upgrade versions yet, but you can try out the pyqt6 fork like this
pip install "git+https://github.com/JoepdeJong/LaTeX-OCR.git@fix/m2-apple-silicon#egg=pix2tex[gui]"
I passed the error, but I am now having issues with some commands. Along with the wait time
pix2tex (long wait)
pix2tex
Traceback (most recent call last):
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/utils/import_utils.py", line 1126, in _get_module
return importlib.import_module("." + module_name, self.__name__)
File "/Users/XXXXXX/miniconda3/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/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/tokenization_utils_fast.py", line 25, in <module>
import tokenizers.pre_tokenizers as pre_tokenizers_fast
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/__init__.py", line 79, in <module>
from .tokenizers import (
ImportError: dlopen(/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so, 0x0002): tried: '/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/XXXXXX/miniconda3/bin/pix2tex", line 8, in <module>
sys.exit(main())
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/pix2tex/__main__.py", line 27, in main
from .cli import main
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/pix2tex/cli.py", line 22, in <module>
from transformers import PreTrainedTokenizerFast
File "<frozen importlib._bootstrap>", line 1075, in _handle_fromlist
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/utils/import_utils.py", line 1116, in __getattr__
module = self._get_module(self._class_to_module[name])
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/utils/import_utils.py", line 1128, in _get_module
raise RuntimeError(
RuntimeError: Failed to import transformers.tokenization_utils_fast because of the following error (look up to see its traceback):
dlopen(/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so, 0x0002): tried: '/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))
latexocr (short wait)
Traceback (most recent call last):
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/utils/import_utils.py", line 1126, in _get_module
return importlib.import_module("." + module_name, self.__name__)
File "/Users/XXXXXX/miniconda3/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/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/tokenization_utils_fast.py", line 25, in <module>
import tokenizers.pre_tokenizers as pre_tokenizers_fast
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/__init__.py", line 79, in <module>
from .tokenizers import (
ImportError: dlopen(/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so, 0x0002): tried: '/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/XXXXXX/miniconda3/bin/latexocr", line 8, in <module>
sys.exit(main())
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/pix2tex/__main__.py", line 25, in main
from .gui import main
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/pix2tex/gui.py", line 15, in <module>
from pix2tex import cli
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/pix2tex/cli.py", line 22, in <module>
from transformers import PreTrainedTokenizerFast
File "<frozen importlib._bootstrap>", line 1075, in _handle_fromlist
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/utils/import_utils.py", line 1116, in __getattr__
module = self._get_module(self._class_to_module[name])
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/utils/import_utils.py", line 1128, in _get_module
raise RuntimeError(
RuntimeError: Failed to import transformers.tokenization_utils_fast because of the following error (look up to see its traceback):
dlopen(/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so, 0x0002): tried: '/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))
python -m pix2tex.api.run (short wait)
Traceback (most recent call last):
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/utils/import_utils.py", line 1126, in _get_module
return importlib.import_module("." + module_name, self.__name__)
File "/Users/XXXXXX/miniconda3/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/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/tokenization_utils_fast.py", line 25, in <module>
import tokenizers.pre_tokenizers as pre_tokenizers_fast
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/__init__.py", line 79, in <module>
from .tokenizers import (
ImportError: dlopen(/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so, 0x0002): tried: '/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/XXXXXX/miniconda3/bin/uvicorn", line 8, in <module>
sys.exit(main())
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/uvicorn/main.py", line 403, in main
run(
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/uvicorn/main.py", line 568, in run
server.run()
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/uvicorn/server.py", line 59, in run
return asyncio.run(self.serve(sockets=sockets))
File "/Users/XXXXXX/miniconda3/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/uvicorn/server.py", line 66, in serve
config.load()
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/uvicorn/config.py", line 471, in load
self.loaded_app = import_from_string(self.app)
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/uvicorn/importer.py", line 21, in import_from_string
module = importlib.import_module(module_str)
File "/Users/XXXXXX/miniconda3/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/XXXXXX/miniconda3/lib/python3.10/site-packages/pix2tex/api/app.py", line 7, in <module>
from pix2tex.cli import LatexOCR
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/pix2tex/cli.py", line 22, in <module>
from transformers import PreTrainedTokenizerFast
File "<frozen importlib._bootstrap>", line 1075, in _handle_fromlist
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/utils/import_utils.py", line 1116, in __getattr__
module = self._get_module(self._class_to_module[name])
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/transformers/utils/import_utils.py", line 1128, in _get_module
raise RuntimeError(
RuntimeError: Failed to import transformers.tokenization_utils_fast because of the following error (look up to see its traceback):
dlopen(/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so, 0x0002): tried: '/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/tokenizers/tokenizers.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))
For this one, the app is openable via localhost but I get error when inputting an image:
ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8502): Max retries exceeded with url: /predict/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x123f0e170>: Failed to establish a new connection: [Errno 61] Connection refused'))
Traceback:
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 565, in _run_script
exec(code, module.__dict__)
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/pix2tex/api/streamlit.py", line 24, in <module>
response = requests.post('http://127.0.0.1:8502/predict/', files={'file': uploaded_file.getvalue()})
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/requests/api.py", line 115, in post
return request("post", url, data=data, json=json, **kwargs)
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/requests/sessions.py", line 587, in request
resp = self.send(prep, **send_kwargs)
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
r = adapter.send(request, **kwargs)
File "/Users/XXXXXX/miniconda3/lib/python3.10/site-packages/requests/adapters.py", line 565, in send
raise ConnectionError(e, request=request)
Related: https://github.com/huggingface/tokenizers/issues/1036
A fix would be to upgrade the tokenizers package to 0.13.0
pip install -U tokenizers==0.13.0
This will print an error along the lines
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. pix2tex 0.0.29 requires tokenizers==0.12.1, but you have tokenizers 0.13.0 which is incompatible.
From an initial test it looks fine but more testing is required.
I've added everything to the main branch, including tokenizers version.
Please try pip install -U pix2tex[gui]
I met this bug. I try pip install pyqt6 failed with sipbuild.pyproject.PyProjectOptionException Error.
I fix this by install pyqt6-tools manually.
pip install pyqt6-tools. then install pyqt6 will success without exception.
same issue with pip install lumibot