camelot-dev/camelot

unable to pip install with latest python

dss010101 opened this issue · 3 comments

Getting the following try to install in a python 3.11 environment:

Collecting camelot
  Downloading Camelot-12.06.29.tar.gz (3.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 21.4 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting SQLAlchemy<0.8.0,>=0.7.7 (from camelot)
  Downloading SQLAlchemy-0.7.10.tar.gz (3.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 20.0 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting Elixir>=0.7.1 (from camelot)
  Downloading Elixir-0.7.1.tar.gz (47 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.1/47.1 kB 4.2 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting sqlalchemy-migrate>=0.7.1 (from camelot)
  Downloading sqlalchemy_migrate-0.13.0-py2.py3-none-any.whl (109 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 109.1/109.1 kB 10.5 MB/s eta 0:00:00
Requirement already satisfied: Jinja2>=2.5.5 in /usr/local/lib/python3.11/site-packages (from camelot) (3.1.2)
Collecting chardet>=1.0.1 (from camelot)
  Downloading chardet-5.1.0-py3-none-any.whl (199 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 199.1/199.1 kB 24.0 MB/s eta 0:00:00
Collecting xlwt==0.7.2 (from camelot)
  Downloading xlwt-0.7.2.zip (131 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 131.2/131.2 kB 16.8 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting xlrd==0.7.1 (from camelot)
  Downloading xlrd-0.7.1.zip (125 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 125.4/125.4 kB 12.6 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/site-packages (from Jinja2>=2.5.5->camelot) (2.1.3)
Collecting pbr>=1.8 (from sqlalchemy-migrate>=0.7.1->camelot)
  Downloading pbr-5.11.1-py2.py3-none-any.whl (112 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 112.7/112.7 kB 10.2 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of sqlalchemy-migrate to determine which version is compatible with other requirements. This could take a while.
Collecting sqlalchemy-migrate>=0.7.1 (from camelot)
  Downloading sqlalchemy_migrate-0.12.0-py2.py3-none-any.whl (108 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 109.0/109.0 kB 15.0 MB/s eta 0:00:00
  Downloading sqlalchemy-migrate-0.11.0.tar.gz (128 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.3/128.3 kB 17.9 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [84 lines of output]
      /usr/local/lib/python3.11/site-packages/setuptools/dist.py:755: SetuptoolsDeprecationWarning: Invalid dash-separated options
      !!
      
              ********************************************************************************
              Usage of dash-separated 'description-file' will not be supported in future
              versions. Please use the underscore name 'description_file' instead.
      
              By 2023-Sep-26, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.
      
              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
              ********************************************************************************
      
      !!
        opt = self.warn_dash_deprecation(opt, section)
      /usr/local/lib/python3.11/site-packages/setuptools/dist.py:755: SetuptoolsDeprecationWarning: Invalid dash-separated options
      !!
      
              ********************************************************************************
              Usage of dash-separated 'author-email' will not be supported in future
              versions. Please use the underscore name 'author_email' instead.
      
              By 2023-Sep-26, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.
      
              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
              ********************************************************************************
      
      !!
        opt = self.warn_dash_deprecation(opt, section)
      /usr/local/lib/python3.11/site-packages/setuptools/dist.py:755: SetuptoolsDeprecationWarning: Invalid dash-separated options
      !!
      
              ********************************************************************************
              Usage of dash-separated 'home-page' will not be supported in future
              versions. Please use the underscore name 'home_page' instead.
      
              By 2023-Sep-26, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.
      
              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
              ********************************************************************************
      
      !!
        opt = self.warn_dash_deprecation(opt, section)
      /usr/local/lib/python3.11/site-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
      !!
      
              ********************************************************************************
              Requirements should be satisfied by a PEP 517 installer.
              If you are using pip, you can try `pip install --use-pep517`.
              ********************************************************************************
      
      !!
        dist.fetch_build_eggs(dist.setup_requires)
      /usr/local/lib/python3.11/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
      !!
      
              ********************************************************************************
              Please avoid running ``setup.py`` and ``easy_install``.
              Instead, use pypa/build, pypa/installer, pypa/build or
              other standards-based tools.
      
              See https://github.com/pypa/setuptools/issues/917 for details.
              ********************************************************************************
      
      !!
        easy_install.initialize_options(self)
      /usr/local/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
      !!
      
              ********************************************************************************
              Please avoid running ``setup.py`` directly.
              Instead, use pypa/build, pypa/installer, pypa/build or
              other standards-based tools.
      
              See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
              ********************************************************************************
      
      !!
        self.initialize_options()
      error in setup command: 'tests_require' must be a string or list of strings containing valid project/version requirement specifiers; Expected end or semicolon (after version specifier)
          pytz>=2010h
              ~~~~~~^
      [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.

I also had this issue. I was able to work around it by first running

pip install sqlalchemy-migrate

and then running

pip install camelot

My system information:
macOS 13.3.1 (a)

$ pip --version
pip 23.2.1 from /opt/homebrew/lib/python3.11/site-packages/pip (python 3.11)

Actually, the reason that this is happening is because we're trying to install the Camelot PyPI package, which is unrelated to this project. We should be installing camelot-py instead.

See #394 for a workaround.