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

ArcticDB 4.4.2 imports incompatible version of protobuf #1583

Closed
nbtdev opened this issue May 27, 2024 · 1 comment
Closed

ArcticDB 4.4.2 imports incompatible version of protobuf #1583

nbtdev opened this issue May 27, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@nbtdev
Copy link

nbtdev commented May 27, 2024

Describe the bug

I added the arcticdb module to my project settings in PyCharm, and simply importing the module produces the following error:

Traceback (most recent call last):
  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 "/home/user/projects/finance/venv/lib/python3.10/site-packages/arcticdb/__init__.py", line 5, in <module>
    from arcticdb.arctic import Arctic
  File "/home/user/projects/finance/venv/lib/python3.10/site-packages/arcticdb/arctic.py", line 14, in <module>
    from arcticdb.version_store.library import ArcticInvalidApiUsageException, Library
  File "/home/user/projects/finance/venv/lib/python3.10/site-packages/arcticdb/version_store/__init__.py", line 2, in <module>
    from arcticdb.version_store._store import NativeVersionStore, VersionedItem
  File "/home/user/projects/finance/venv/lib/python3.10/site-packages/arcticdb/version_store/_store.py", line 24, in <module>
    from arcticc.pb2.descriptors_pb2 import IndexDescriptor, TypeDescriptor, SortedValue
  File "/home/user/projects/finance/venv/lib/python3.10/site-packages/arcticc/pb2/__init__.py", line 29, in <module>
    raise NotImplementedError(f"We only support protobuf versions 3 & 4. You have {_protobuf.__version__}")
NotImplementedError: We only support protobuf versions 3 & 4. You have 5.27.0

Rolling back to the latest 4.x (4.2.3) of protobuf works, so it seems that the arcticdb import should enforce this limitation if it's known in the code.

Steps/Code to Reproduce

import arcticdb as adb

Expected Results

No exception stack

OS, Python Version and ArcticDB Version

Python 3.10
ArcticDB 4.4.2

Backend storage used

No response

Additional Context

No response

@nbtdev nbtdev added the bug Something isn't working label May 27, 2024
@poodlewars
Copy link
Collaborator

We do impose a constraint on protobuf, see here.

If I "force" the upgrade I see a warning:

(310-3) ➜  ~ pip install -U protobuf      
Requirement already satisfied: protobuf in ./venvs/310-3/lib/python3.10/site-packages (4.25.3)
Collecting protobuf
  Downloading protobuf-5.27.0-cp38-abi3-manylinux2014_x86_64.whl (309 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 309.2/309.2 KB 7.0 MB/s eta 0:00:00
Installing collected packages: protobuf
  Attempting uninstall: protobuf
    Found existing installation: protobuf 4.25.3
    Uninstalling protobuf-4.25.3:
      Successfully uninstalled protobuf-4.25.3
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.
arcticdb 4.4.2 requires protobuf<5,>=3.5.0.post1, but you have protobuf 5.27.0 which is incompatible.
Successfully installed protobuf-5.27.0

We have issue #1422 for protobuf 5 support.

Does this answer your question @nbtdev ?

@poodlewars poodlewars closed this as not planned Won't fix, can't repro, duplicate, stale Jun 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants