TeskaLabs/cysimdjson

Installation error

lemire opened this issue · 2 comments

No matter where I try to install it, I get the following error...

$ pip3 install git+https://github.com/TeskaLabs/cysimdjson.git
çCollecting git+https://github.com/TeskaLabs/cysimdjson.git
  Cloning https://github.com/TeskaLabs/cysimdjson.git to /tmp/pip-req-build-p05qbrke
  Running command git clone -q https://github.com/TeskaLabs/cysimdjson.git /tmp/pip-req-build-p05qbrke
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmppry884i2 get_requires_for_build_wheel /tmp/tmpexwmoc4h
       cwd: /tmp/pip-req-build-p05qbrke
  Complete output (39 lines):
  Compiling cysimdjson/cysimdjson.pyx because it changed.
  [1/1] Cythonizing cysimdjson/cysimdjson.pyx
  running egg_info
  creating cysimdjson.egg-info
  writing cysimdjson.egg-info/PKG-INFO
  Traceback (most recent call last):
    File "/tmp/tmppry884i2", line 280, in <module>
      main()
    File "/tmp/tmppry884i2", line 263, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/tmp/tmppry884i2", line 114, in get_requires_for_build_wheel
      return hook(config_settings)
    File "/tmp/pip-build-env-ctarly3y/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 149, in get_requires_for_build_wheel
      return self._get_build_requires(
    File "/tmp/pip-build-env-ctarly3y/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 130, in _get_build_requires
      self.run_setup()
    File "/tmp/pip-build-env-ctarly3y/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 253, in run_setup
      super(_BuildMetaLegacyBackend,
    File "/tmp/pip-build-env-ctarly3y/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 145, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 29, in <module>
      setup(
    File "/tmp/pip-build-env-ctarly3y/overlay/lib/python3.8/site-packages/setuptools/__init__.py", line 153, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib/python3.8/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-ctarly3y/overlay/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 292, in run
      writer(self, ep.name, os.path.join(self.egg_info, ep.name))
    File "/tmp/pip-build-env-ctarly3y/overlay/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 628, in write_pkg_info
      metadata.write_pkg_info(cmd.egg_info)
    File "/usr/lib/python3.8/distutils/dist.py", line 1117, in write_pkg_info
      self.write_pkg_file(pkg_info)
    File "/tmp/pip-build-env-ctarly3y/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 165, in write_pkg_file
      for project_url in self.project_urls.items():
  AttributeError: 'set' object has no attribute 'items'
  ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 /tmp/tmppry884i2 get_requires_for_build_wheel /tmp/tmpexwmoc4h Check the logs for full command output.

Can be reproduced with the following container...

FROM ubuntu:20.10
 RUN apt-get update -qq
 RUN apt-get install -y vim valgrind golang llvm gdb lldb clang-format sudo pip python python-dev wget cmake g++ g++-9 git clang++-9 linux-tools-generic ruby ruby-dev python3-pip  libboost-all-dev git
 RUN  pip3 install ipython



I imagine they meant to do this:

diff --git a/setup.py b/setup.py
index 151c833..5b67327 100644
--- a/setup.py
+++ b/setup.py
@@ -39,7 +39,7 @@ setup(
                "cysimdjson",
        ],
        project_urls={
-               "https://github.com/TeskaLabs/cysimdjson",
+               "Source": "https://github.com/TeskaLabs/cysimdjson"
        },
        install_requires=[
        ],

Oh, of course.
Fixing.