1

I am trying to install feature store library named feast inside Python 3.7.

~$ pip install feast==0.25.2

Running this command gives us the following error

Collecting feast==0.25.2
  Using cached feast-0.25.2.tar.gz (3.5 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
    Preparing wheel metadata ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python3.7 /usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpnujfu5ex
         cwd: /tmp/pip-install-9meyapk7/feast_a83bf8faa7b342529f74972f8ca885ad
    Complete output (1 lines):
    error in feast setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.

Please note I have already run "pip install --upgrade setuptools"

Can you please suggest me about this issue here?

habibalsaki
  • 1,082
  • 4
  • 13
  • 25
  • Looks like the author recommends to rather use Conda: https://github.com/feast-dev/feast/issues/3507 – D Malan Mar 28 '23 at 10:03
  • Does the same on newer python too if using feast==0.25.2 - but newer version of feast works. Most likely a bug in the release of feast itself – rasjani Mar 28 '23 at 10:14
  • 1
    @rasjani, I have python 3.7 in my production, so can't use more than feast 0.26.0, for both, I am facing this issue. – habibalsaki Mar 29 '23 at 05:24
  • Python 3.7 should not be used anymore (in production and in dev), it reached end of life: https://endoflife.date/python – Coding thermodynamist Jul 25 '23 at 12:08

1 Answers1

1

I have the same problem when installing Feast 0.23.0 version using pip.
After some debugging I found the solution is change all the project/version requirements written in the format some-lib>=1.52.* to some-lib>=1.52.0.

$ git clone https://github.com/feast-dev/feast
$ git checkout tag/v0.23.0
$ vim set.py

Change all the lines contain >= followed by *, for example:

-    "googleapis-common-protos>=1.52.*,<2",
+    "googleapis-common-protos>=1.52.0,<2",

After that run below command to install Feast locally

$ python setup.py install

I believe the >= operator can't be use with * wildcard.

Son Nguyen
  • 187
  • 1
  • 6