This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Pip 404's
Type: behavior Stage: resolved
Components: Library (Lib) Versions: Python 3.5
process
Status: closed Resolution: duplicate
Dependencies: Superseder: urljoin duplicate slashes
View: 22278
Assigned To: Nosy List: dstufft, lemburg, pitrou, scoder, wilbertom
Priority: normal Keywords:

Created on 2014-08-31 09:34 by wilbertom, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (10)
msg226160 - (view) Author: Wilberto Morales (wilbertom) Date: 2014-08-31 09:34
I know that issues like this one are usually on the users(my) fault, but I think pip might be broken this time for real.

Every time I run pip install, a 404 error is raised:

(venv) /tmp wil
>>> pip install flask
Requirement already satisfied (use --upgrade to upgrade): flask in /home/wil/Programming/open/skinner/venv/lib/python3.5/site-packages/Flask-0.11_dev-py3.5.egg
Downloading/unpacking Werkzeug>=0.7 (from flask)
  HTTP error 404 while getting https://pypi.python.org/simple/packages/source/W/Werkzeug/Werkzeug-0.9.6.tar.gz#md5=f7afcadc03b0f2267bdc156c34586043 (from https://pypi.python.org/simple/werkzeug/)
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/home/wil/Programming/open/skinner/venv/lib/python3.5/site-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/home/wil/Programming/open/skinner/venv/lib/python3.5/site-packages/pip/commands/install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/home/wil/Programming/open/skinner/venv/lib/python3.5/site-packages/pip/req.py", line 1197, in prepare_files
    do_download,
  File "/home/wil/Programming/open/skinner/venv/lib/python3.5/site-packages/pip/req.py", line 1375, in unpack_url
    self.session,
  File "/home/wil/Programming/open/skinner/venv/lib/python3.5/site-packages/pip/download.py", line 547, in unpack_http_url
    resp.raise_for_status()
  File "/home/wil/Programming/open/skinner/venv/lib/python3.5/site-packages/pip/_vendor/requests/models.py", line 795, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
pip._vendor.requests.exceptions.HTTPError: 404 Client Error: Not Found

/home/wil/Programming/open/skinner/venv/lib/python3.5/site-packages/pip/basecommand.py:158: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=AddressFamily.AF_INET, type=2049, proto=6, laddr=('10.0.0.6', 52061), raddr=('23.235.44.175', 443)>
  exit = UNKNOWN_ERROR
Storing debug log for failure in /home/wil/.pip/pip.log

With flask-sqlalchemy as a example.

Right: 

https://pypi.python.org/packages/source/F/Flask-SQLAlchemy/Flask-SQLAlchemy-2.0.tar.gz#md5=06ae73194cca73b72e178f870d1dac7c

PIP(wrong):

https://pypi.python.org/simple/packages/source/F/Flask-SQLAlchemy/Flask-SQLAlchemy-2.0.tar.gz/#md5=06ae73194cca73b72e178f870d1dac7c

Notice the simple added after to .org and the / added after .tar.gz
msg226161 - (view) Author: Stefan Behnel (scoder) * (Python committer) Date: 2014-08-31 09:55
I noticed this, too. I think it's due to the urllib changes in issue 22118.
msg226162 - (view) Author: Wilberto Morales (wilbertom) Date: 2014-08-31 10:04
Good to know I'm not the only one.

In the comments above, scratch the "/" after .gz. Looks like it's just a redirect adding it. This is the actual url generated.

https://pypi.python.org/simple/packages/source/W/Werkzeug/Werkzeug-0.9.6.tar.gz#md5=f7afcadc03b0f2267bdc156c34586043
msg226165 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2014-08-31 10:18
See issue #22278.
msg226166 - (view) Author: Wilberto Morales (wilbertom) Date: 2014-08-31 10:19
Also I see PIP is it's own project. Should I migrate the issue? It won't be as easy as I thought to fix.

>>> git diff
diff --git a/pip/_vendor/distlib/locators.py b/pip/_vendor/distlib/locators.py
index 07bc1fd..b7ef31a 100644
--- a/pip/_vendor/distlib/locators.py
+++ b/pip/_vendor/distlib/locators.py
@@ -949,7 +949,7 @@ class AggregatingLocator(Locator):
 # versions which don't conform to PEP 426 / PEP 440.
 default_locator = AggregatingLocator(
                     JSONLocator(),
-                    SimpleScrapingLocator('https://pypi.python.org/simple/',
+                    SimpleScrapingLocator('https://pypi.python.org/',
                                           timeout=3.0),
                     scheme='legacy')
 
diff --git a/pip/cmdoptions.py b/pip/cmdoptions.py
index 7c68738..738bbf5 100644
--- a/pip/cmdoptions.py
+++ b/pip/cmdoptions.py
@@ -189,7 +189,7 @@ index_url = OptionMaker(
     '-i', '--index-url', '--pypi-url',
     dest='index_url',
     metavar='URL',
-    default='https://pypi.python.org/simple/',
+    default='https://pypi.python.org/',
     help='Base URL of Python Package Index (default %default).')
 
 extra_index_url = OptionMaker(

Still gives errors. A different one.
msg226169 - (view) Author: Marc-Andre Lemburg (lemburg) * (Python committer) Date: 2014-08-31 10:32
On 31.08.2014 11:34, Wilberto Morales wrote:
> 
> New submission from Wilberto Morales:
> 
> I know that issues like this one are usually on the users(my) fault, but I think pip might be broken this time for real.
> 
> Every time I run pip install, a 404 error is raised:
> 
> (venv) /tmp wil
>>>> pip install flask
> Requirement already satisfied (use --upgrade to upgrade): flask in /home/wil/Programming/open/skinner/venv/lib/python3.5/site-packages/Flask-0.11_dev-py3.5.egg
> Downloading/unpacking Werkzeug>=0.7 (from flask)
>   HTTP error 404 while getting https://pypi.python.org/simple/packages/source/W/Werkzeug/Werkzeug-0.9.6.tar.gz#md5=f7afcadc03b0f2267bdc156c34586043 (from https://pypi.python.org/simple/werkzeug/)

The URL is wrong. It should be:

https://pypi.python.org/packages/source/W/Werkzeug/Werkzeug-0.9.6.tar.gz#md5=f7afcadc03b0f2267bdc156c34586043

The added /simple/ in the path is causing the problem. Do you perhaps
have a local config for pip that is adding this URL path ?

FWIW: It "pip install werkzeug" works for me.
msg226235 - (view) Author: Donald Stufft (dstufft) * (Python committer) Date: 2014-09-01 17:32
Yea can you give more information? How are you reproducing this? What version of Python? I can't reproduce it locally.
msg226236 - (view) Author: Stefan Behnel (scoder) * (Python committer) Date: 2014-09-01 17:42
CPython 3.5, latest development versions. This started failing on August 21st, presumably with the changes for issue 22118.
msg226238 - (view) Author: Donald Stufft (dstufft) * (Python committer) Date: 2014-09-01 17:45
Ok, I'll pull down Python 3.5 in a bit and see what is what.
msg226239 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2014-09-01 17:50
No need to keep this open, this is tackled in issue 22278.
History
Date User Action Args
2022-04-11 14:58:07adminsetgithub: 66507
2014-09-01 17:50:31pitrousetstatus: open -> closed
resolution: duplicate
messages: + msg226239

stage: resolved
2014-09-01 17:45:31dstufftsetmessages: + msg226238
2014-09-01 17:42:38scodersetmessages: + msg226236
2014-09-01 17:32:33dstufftsetmessages: + msg226235
2014-09-01 07:38:38ned.deilysetnosy: + dstufft
2014-08-31 10:32:19lemburgsetnosy: + lemburg
messages: + msg226169
2014-08-31 10:19:32wilbertomsetmessages: + msg226166
2014-08-31 10:18:17pitrousetsuperseder: urljoin duplicate slashes
messages: + msg226165
2014-08-31 10:04:33wilbertomsetmessages: + msg226162
2014-08-31 09:55:35scodersetnosy: + scoder, pitrou
messages: + msg226161

components: + Library (Lib)
type: behavior
2014-08-31 09:34:41wilbertomcreate