Skip to content

Typo in metadata translation blocks jython installation #475

@ghost

Description

Originally reported by: lsenta (Bitbucket: lsenta, GitHub: lsenta)


When I try to intall setuptool by hand using jython I get the following exception:

#!python
vagrant@myproject:/opt/myproject/setuptools-19.0$ /opt/myproject/bin/jythonhs-test setup.py
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/lib/zookeeper/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/vagrant/hbase-libs/log4j-slf4j-impl-2.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Traceback (most recent call last):
  File "setup.py", line 169, in <module>
    dist = setuptools.setup(**setup_params)
  File "/vagrant/server/target/dependency/jython-standalone-2.7.0.jar/Lib/distutils/core.py", line 112, in setup
  File "/vagrant/server/target/dependency/jython-standalone-2.7.0.jar/Lib/distutils/core.py", line 112, in setup
  File "/vagrant/setuptools-19.0/setuptools/dist.py", line 271, in __init__
    _Distribution.__init__(self,attrs)
  File "/vagrant/server/target/dependency/jython-standalone-2.7.0.jar/Lib/distutils/dist.py", line 287, in __init__
  File "/vagrant/setuptools-19.0/setuptools/dist.py", line 325, in finalize_options
    ep.require(installer=self.fetch_build_egg)
  File "/vagrant/setuptools-19.0/pkg_resources/__init__.py", line 2396, in require
    reqs = self.dist.requires(self.extras)
  File "/vagrant/setuptools-19.0/pkg_resources/__init__.py", line 2642, in requires
    dm = self._dep_map
  File "/vagrant/setuptools-19.0/pkg_resources/__init__.py", line 2631, in _dep_map
    if invalid_marker(marker):
  File "/vagrant/setuptools-19.0/pkg_resources/__init__.py", line 1427, in is_invalid_marker
    cls.evaluate_marker(text)
  File "/vagrant/setuptools-19.0/pkg_resources/__init__.py", line 1427, in is_invalid_marker
    cls.evaluate_marker(text)
  File "/vagrant/setuptools-19.0/pkg_resources/__init__.py", line 1553, in _markerlib_evaluate
    env = cls._translate_metadata2(_markerlib.default_environment())
  File "/vagrant/setuptools-19.0/pkg_resources/__init__.py", line 1540, in _translate_metadata2
    (key.replace('.', '_'), value)
  File "/vagrant/setuptools-19.0/pkg_resources/__init__.py", line 1541, in <genexpr>
    for key, value in env
ValueError: too many values to unpack

I fixed the issue by replacing env with env.items() at:
pkg_resources/init.py@1540

I couldn't find other code paths that may call this function with a different input (list of tuples), so this looks like a typo.


Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions