MIND-Lab / OCTIS

OCTIS: Comparing Topic Models is Simple! A python package to optimize and evaluate topic models (accepted at EACL2021 demo track)
MIT License
734 stars 106 forks source link

OCTIS install fails due to gensim version #114

Open sequoiarose opened 1 year ago

sequoiarose commented 1 year ago

Description

On pip install, installation fails on gensim==4.2.0 due to a bug in that version of gensim reported in gensim issue 3225. Would it be possible to update the gensim version to one that installs properly?

When handling this in my own environment I can just install the correct gensim after octis fails, but it is not possible to do that when using a github action during my code deployment.

What I Did

pip install octis

Collecting gensim==4.2.0 (from octis->-r ./requirements.txt (line 6))
  Downloading gensim-4.2.0.tar.gz (23.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.2/23.2 MB 91.4 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [60 lines of output]
      running dist_info
      creating /tmp/pip-modern-metadata-utp3dz_3/gensim.egg-info
      writing /tmp/pip-modern-metadata-utp3dz_3/gensim.egg-info/PKG-INFO
      writing dependency_links to /tmp/pip-modern-metadata-utp3dz_3/gensim.egg-info/dependency_links.txt
      writing requirements to /tmp/pip-modern-metadata-utp3dz_3/gensim.egg-info/requires.txt
      writing top-level names to /tmp/pip-modern-metadata-utp3dz_3/gensim.egg-info/top_level.txt
      writing manifest file '/tmp/pip-modern-metadata-utp3dz_3/gensim.egg-info/SOURCES.txt'
      Traceback (most recent call last):
        File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line [149](https://github.com/nasa/mika/actions/runs/6807405405/job/18510203359#step:7:150), in prepare_metadata_for_build_wheel
          return hook(metadata_directory, config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 396, in prepare_metadata_for_build_wheel
          self.run_setup()
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 507, in run_setup
          super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 341, in run_setup
          exec(code, locals())
        File "<string>", line 335, in <module>
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line [185](https://github.com/nasa/mika/actions/runs/6807405405/job/18510203359#step:7:186), in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/command/dist_info.py", line 107, in run
          self.egg_info.run()
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 318, in run
          self.find_sources()
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 326, in find_sources
          mm.run()
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 548, in run
          self.add_defaults()
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 586, in add_defaults
          sdist.add_defaults(self)
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/command/sdist.py", line 113, in add_defaults
          super().add_defaults()
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults
          self._add_defaults_ext()
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 335, in _add_defaults_ext
          build_ext = self.get_finalized_command('build_ext')
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 305, in get_finalized_command
          cmd_obj.ensure_finalized()
        File "/tmp/pip-build-env-dlcjy55s/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 111, in ensure_finalized
          self.finalize_options()
        File "<string>", line 107, in finalize_options
      AttributeError: 'dict' object has no attribute '__NUMPY_SETUP__'
      [end of output]
sequoiarose commented 1 year ago

This error goes away when downgrading to python 3.8

gfisher94 commented 11 months ago

Having the exact same issue with python 3.9.

Rqcker commented 8 months ago

It doesn't seem to have been fixed

Python 3.11.5 still has this error.