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

Trying to import latest version of FEAST is failing #3538

Closed
malavika-menon opened this issue Mar 15, 2023 · 4 comments
Closed

Trying to import latest version of FEAST is failing #3538

malavika-menon opened this issue Mar 15, 2023 · 4 comments

Comments

@malavika-menon
Copy link

Expected Behavior

After pip installing the feast package, I expect to be able to import feast in the next cell in order to develop with the FEAST python sdk

Current Behavior

Right now it throws this error: ValueError: tuple.index(x): x not in tuple

With this stack trace:

----> 1 import feast

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/__init__.py:7
      4 except ModuleNotFoundError:
      5     from importlib_metadata import PackageNotFoundError, version as _version  # type: ignore
----> 7 from feast.infra.offline_stores.bigquery_source import BigQuerySource
      8 from feast.infra.offline_stores.contrib.athena_offline_store.athena_source import (
      9     AthenaSource,
     10 )
     11 from feast.infra.offline_stores.file_source import FileSource

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/infra/offline_stores/bigquery_source.py:8
      6 from feast.data_source import DataSource
      7 from feast.errors import DataSourceNoNameException, DataSourceNotFoundException
----> 8 from feast.feature_logging import LoggingDestination
      9 from feast.protos.feast.core.DataSource_pb2 import DataSource as DataSourceProto
     10 from feast.protos.feast.core.FeatureService_pb2 import (
     11     LoggingConfig as LoggingConfigProto,
     12 )

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/feature_logging.py:14
      8 from feast.embedded_go.type_map import FEAST_TYPE_TO_ARROW_TYPE, PA_TIMESTAMP_TYPE
      9 from feast.errors import (
     10     FeastObjectNotFoundException,
     11     FeatureViewNotFoundException,
     12     OnDemandFeatureViewNotFoundException,
     13 )
---> 14 from feast.feature_view import DUMMY_ENTITY_ID
     15 from feast.protos.feast.core.FeatureService_pb2 import (
     16     LoggingConfig as LoggingConfigProto,
     17 )
     19 if TYPE_CHECKING:

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/feature_view.py:22
     19 from google.protobuf.duration_pb2 import Duration
     20 from typeguard import typechecked
---> 22 from feast import utils
     23 from feast.base_feature_view import BaseFeatureView
     24 from feast.data_source import DataSource, KafkaSource, KinesisSource, PushSource

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/utils.py:15
     12 from pytz import utc
     14 from feast.constants import FEAST_FS_YAML_FILE_PATH_ENV_NAME
---> 15 from feast.entity import Entity
     16 from feast.protos.feast.types.EntityKey_pb2 import EntityKey as EntityKeyProto
     17 from feast.protos.feast.types.Value_pb2 import Value as ValueProto

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/entity.py:28
     23 from feast.usage import log_exceptions
     24 from feast.value_type import ValueType
     27 @typechecked
---> 28 class Entity:
     29     """
     30     An entity defines a collection of entities for which features can be defined. An
     31     entity can also contain associated metadata.
   (...)
     43         last_updated_timestamp: The time when the entity was last updated.
     44     """
     46     name: str

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/typeguard/_decorators.py:142, in typechecked(target)
    140 for key, attr in target.__dict__.items():
    141     if is_method_of(attr, target):
--> 142         retval = instrument(attr)
    143         if isfunction(retval):
    144             setattr(target, key, retval)

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/typeguard/_decorators.py:88, in instrument(f)
     85 elif f.__closure__ is not None:
     86     # Existing closure needs modifications
     87     cell = make_cell()
---> 88     index = new_code.co_freevars.index(f.__name__)
     89     closure = f.__closure__[:index] + (cell,) + f.__closure__[index:]
     90 else:
     91     # Make a brand new closure

ValueError: tuple.index(x): x not in tuple

Steps to reproduce

  • pip install feast
  • import feast

Specifications

  • FEAST Version: 0.29.0
  • Platform: MacOSx (12.6)
  • Subsystem:
  • Python version: 3.8.13

Possible Solution

  • Pinning typeguard to a specific version?
@malavika-menon
Copy link
Author

Typeguard latest version is currently 3.0.0, but this is breaking feast. The last stable version is 2.13.3

@davidschuler-8451
Copy link
Contributor

confirmed that directly installing typeguard==2.13.3 after installing feast fixed the issue for me.

@AndreaEr
Copy link

AndreaEr commented Mar 21, 2023

received this ModuleNotFoundError: No module named 'venv\Lib\site-packages\_distutils_hack\override' after install typeguard==2.13.3,
I am using 3.10.2 python version

@adchia
Copy link
Collaborator

adchia commented Apr 21, 2023

Think this was fixed by #3542 and was already released so closing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants