Public bug reported: [impact]
pip 8.1.1 (xenial) tries to access properties that were dropped from the Requirement class and when pip's code tries to access Requirement.project_name fails, this was fixed in 8.1.2. Any user trying to install a package that triggers the pkg_resources.VersionConflict exception during will get the error "AttributeError: 'Requirement' object has no attribute 'project_name'" [Test Case] # wget https://pypi.python.org/packages/49/6f/183063f01aae1e025cf0130772b55848750a2f3a89bfa11b385b35d7329d/requests-2.10.0.tar.gz # wget https://pypi.python.org/packages/2e/ad/e627446492cc374c284e82381215dcd9a0a87c4f6e90e9789afefe6da0ad/requests-2.11.1.tar.gz # pip install requests-2.10.0.tar.gz # pip install requests-2.11.1.tar.gz Expected result: pip installs requests 2.11.1 Actual result: pip fails with the following exception root@pip-x:/home/ubuntu# pip install requests-2.11.1.tar.gz Processing ./requests-2.11.1.tar.gz Exception: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 209, in main status = self.run(options, args) File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 328, in run wb.build(autobuilding=True) File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 748, in build self.requirement_set.prepare_files(self.finder) File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 360, in prepare_files ignore_dependencies=self.ignore_dependencies)) File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 600, in _prepare_file req_to_install.check_if_exists() File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 1011, in check_if_exists self.req.project_name AttributeError: 'Requirement' object has no attribute 'project_name' You are using pip version 8.1.1, however version 8.1.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command. [Regression Potential] * Low. Users consuming pip private API may see a difference in the behavior, but this is a private api and upstream already discourages its use. And this change is already part of 8.1.2 [Other info] >From 8e236dd6a09bd2f70f9d4fc886da8c354d4c58f2 Mon Sep 17 00:00:00 2001 From: Donald Stufft <[email protected]> Date: Wed, 11 Nov 2015 18:51:46 -0500 Subject: [PATCH] Update to use the Requirement class from packaging https://github.com/pypa/pip/commit/8e236dd6a09bd2f70f9d4fc886da8c354d4c58f2 ** Affects: python-pip (Ubuntu) Importance: Undecided Assignee: Felipe Reyes (freyes) Status: New ** Tags: sts -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1626258 Title: AttributeError: 'Requirement' object has no attribute 'project_name' To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1626258/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
