Installation is broken in debian jessie #104

Closed
opened 2018-10-24 10:11:05 +00:00 by varac · 2 comments

I get this consistently:

root@moewe:~# pip3 install --upgrade borgmatic
Downloading/unpacking borgmatic
  Downloading borgmatic-1.2.9-py3-none-any.whl (79kB): 79kB downloaded
Downloading/unpacking ruamel.yaml>0.15.0,<0.16.0 (from borgmatic)
  Downloading ruamel.yaml-0.15.74.tar.gz (310kB): 310kB downloaded
  Running setup.py (path:/tmp/pip-build-85o6gigb/ruamel.yaml/setup.py) egg_info for package ruamel.yaml
    /usr/lib/python3.4/distutils/dist.py:260: UserWarning: Unknown distribution option: 'python_requires'
      warnings.warn(msg)
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2382, in _dep_map
        return self.__dep_map
      File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2457, in __getattr__
        raise AttributeError(attr)
    AttributeError: _Distribution__dep_map
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/tmp/pip-build-85o6gigb/ruamel.yaml/setup.py", line 1010, in <module>
        main()
      File "/tmp/pip-build-85o6gigb/ruamel.yaml/setup.py", line 998, in main
        setup(**kw)
      File "/usr/lib/python3.4/distutils/core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 266, in __init__
        _Distribution.__init__(self,attrs)
      File "/usr/lib/python3.4/distutils/dist.py", line 280, in __init__
        self.finalize_options()
      File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 300, in finalize_options
        ep.require(installer=self.fetch_build_egg)
      File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2201, in require
        reqs = self.dist.requires(self.extras)
      File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2401, in requires
        dm = self._dep_map
      File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2390, in _dep_map
        if invalid_marker(marker):
      File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1207, in is_invalid_marker
        cls.evaluate_marker(text)
      File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1319, in _markerlib_evaluate
        for key in env.keys():
    RuntimeError: dictionary changed size during iteration
    sys.argv ['-c', 'egg_info', '--egg-base', 'pip-egg-info']
    test compiling test_ruamel_yaml
    Complete output from command python setup.py egg_info:
    /usr/lib/python3.4/distutils/dist.py:260: UserWarning: Unknown distribution option: 'python_requires'

  warnings.warn(msg)

Traceback (most recent call last):

  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2382, in _dep_map

    return self.__dep_map

  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2457, in __getattr__

    raise AttributeError(attr)

AttributeError: _Distribution__dep_map



During handling of the above exception, another exception occurred:



Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/tmp/pip-build-85o6gigb/ruamel.yaml/setup.py", line 1010, in <module>

    main()

  File "/tmp/pip-build-85o6gigb/ruamel.yaml/setup.py", line 998, in main

    setup(**kw)

  File "/usr/lib/python3.4/distutils/core.py", line 108, in setup

    _setup_distribution = dist = klass(attrs)

  File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 266, in __init__

    _Distribution.__init__(self,attrs)

  File "/usr/lib/python3.4/distutils/dist.py", line 280, in __init__

    self.finalize_options()

  File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 300, in finalize_options

    ep.require(installer=self.fetch_build_egg)

  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2201, in require

    reqs = self.dist.requires(self.extras)

  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2401, in requires

    dm = self._dep_map

  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2390, in _dep_map

    if invalid_marker(marker):

  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1207, in is_invalid_marker

    cls.evaluate_marker(text)

  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1319, in _markerlib_evaluate

    for key in env.keys():

RuntimeError: dictionary changed size during iteration

sys.argv ['-c', 'egg_info', '--egg-base', 'pip-egg-info']

test compiling test_ruamel_yaml

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-85o6gigb/ruamel.yaml
Storing debug log for failure in /root/.pip/pip.log

# pip3 --version
pip 1.5.6 from /usr/lib/python3/dist-packages (python 3.4)


I get this consistently: ``` root@moewe:~# pip3 install --upgrade borgmatic Downloading/unpacking borgmatic Downloading borgmatic-1.2.9-py3-none-any.whl (79kB): 79kB downloaded Downloading/unpacking ruamel.yaml>0.15.0,<0.16.0 (from borgmatic) Downloading ruamel.yaml-0.15.74.tar.gz (310kB): 310kB downloaded Running setup.py (path:/tmp/pip-build-85o6gigb/ruamel.yaml/setup.py) egg_info for package ruamel.yaml /usr/lib/python3.4/distutils/dist.py:260: UserWarning: Unknown distribution option: 'python_requires' warnings.warn(msg) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2382, in _dep_map return self.__dep_map File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2457, in __getattr__ raise AttributeError(attr) AttributeError: _Distribution__dep_map During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<string>", line 17, in <module> File "/tmp/pip-build-85o6gigb/ruamel.yaml/setup.py", line 1010, in <module> main() File "/tmp/pip-build-85o6gigb/ruamel.yaml/setup.py", line 998, in main setup(**kw) File "/usr/lib/python3.4/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 266, in __init__ _Distribution.__init__(self,attrs) File "/usr/lib/python3.4/distutils/dist.py", line 280, in __init__ self.finalize_options() File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 300, in finalize_options ep.require(installer=self.fetch_build_egg) File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2201, in require reqs = self.dist.requires(self.extras) File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2401, in requires dm = self._dep_map File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2390, in _dep_map if invalid_marker(marker): File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1207, in is_invalid_marker cls.evaluate_marker(text) File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1319, in _markerlib_evaluate for key in env.keys(): RuntimeError: dictionary changed size during iteration sys.argv ['-c', 'egg_info', '--egg-base', 'pip-egg-info'] test compiling test_ruamel_yaml Complete output from command python setup.py egg_info: /usr/lib/python3.4/distutils/dist.py:260: UserWarning: Unknown distribution option: 'python_requires' warnings.warn(msg) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2382, in _dep_map return self.__dep_map File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2457, in __getattr__ raise AttributeError(attr) AttributeError: _Distribution__dep_map During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<string>", line 17, in <module> File "/tmp/pip-build-85o6gigb/ruamel.yaml/setup.py", line 1010, in <module> main() File "/tmp/pip-build-85o6gigb/ruamel.yaml/setup.py", line 998, in main setup(**kw) File "/usr/lib/python3.4/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 266, in __init__ _Distribution.__init__(self,attrs) File "/usr/lib/python3.4/distutils/dist.py", line 280, in __init__ self.finalize_options() File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 300, in finalize_options ep.require(installer=self.fetch_build_egg) File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2201, in require reqs = self.dist.requires(self.extras) File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2401, in requires dm = self._dep_map File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2390, in _dep_map if invalid_marker(marker): File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1207, in is_invalid_marker cls.evaluate_marker(text) File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1319, in _markerlib_evaluate for key in env.keys(): RuntimeError: dictionary changed size during iteration sys.argv ['-c', 'egg_info', '--egg-base', 'pip-egg-info'] test compiling test_ruamel_yaml ---------------------------------------- Cleaning up... Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-85o6gigb/ruamel.yaml Storing debug log for failure in /root/.pip/pip.log # pip3 --version pip 1.5.6 from /usr/lib/python3/dist-packages (python 3.4) ```
Owner

It looks like you're hitting this ruamel.yaml bug. Based on your version of pip, which was released way back in 2014, I'm guessing that your version of setuptools is similarly old. So some ideas for fixing this:

  1. Upgrade setuptools. Note though that upgrading may be difficult to do given that you're probably using the newest version in Debian jessie already.
  2. Or, upgrade to a newer version of Debian.
  3. Or, and this may be the best option on Debian jessie, install borgmatic and its dependencies in a virtualenv which would use a newer version of pip without affecting your Debian system pip.
It looks like you're hitting [this ruamel.yaml bug](https://bitbucket.org/ruamel/yaml/issues/198/pip-install-issue-runtimeerror-dictionary). Based on your version of pip, which was released way back in 2014, I'm guessing that your version of setuptools is similarly old. So some ideas for fixing this: 1. Upgrade setuptools. Note though that upgrading may be difficult to do given that you're probably using the newest version in Debian jessie already. 2. Or, upgrade to a newer version of Debian. 3. Or, and this may be the best option on Debian jessie, install borgmatic and its dependencies in a [virtualenv](https://virtualenv.pypa.io/en/stable/) which would use a newer version of pip without affecting your Debian system pip.
Owner

Let me know if any of the above works out for you! Thanks.

Let me know if any of the above works out for you! Thanks.
witten added the
question / support
label 2018-11-22 06:03:09 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: borgmatic-collective/borgmatic#104
No description provided.