Pypy.python.org Anaconda channel is down

This morning it seems Anaconda Navigator cannot install pyqtgraph. It complains that

CondaHTTPError: HTTP 000 CONNECTION FAILED for url http://pypy.python.org/simple/osx-64/current_repodata.json
Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
‘http//pypy.python.org/simple/osx-64’

And indeed trying to fetch http//pypy.python.org/simple/osx-64 with a browser or curl returns a 403 error.

What gives with this subdomain of python.org ?

thanks, Peter

That domain does not exist. Where did it come from? conda channels have URLs like https://conda.anaconda.org/conda-forge/linux-64/current_repodata.json without “simple” in them. PEP 503 wheel repos have a URL like Simple index with no “current_repodata.json” in them.

Anaconda Navigator lists the following for a channel in my base (root) environment:

http://pypy.python.org/simple

It seems to be listed in all of my environments.

The ~/.condarc file contains the following:
ssl_verify: true
channels:

It looks like that file was modified today and is the same date that my ~/.conda/pkgs directory was updated.

It seems likely that that is supposed to be pypi.python.org, not pypy.python.org. The former domain is an alias for pypi.org; the latter domain does not exist (PyPI is the Python Package Index; PyPy is a Python interpreter written in Python).

1 Like

It would seem that someone or something has misconfigured it. As far as I’m aware, .condarc is a user-facing config file, so it would generally be a user or administrator who would have updated it. Even if the URL was correct, I’m not sure conda can consume non-conda package indices like this (but don’t take my word for it).

Correct, I used to administer an Anaconda install for a large enterprise, my most common user issue was users re-configuring their .condarc to point to a Simple Repository API.

Conda was explicitly designed so that all the package dependencies can be read from repository API it uses so it doesn’t have to download a package until it has resolved the dependencies. As the Simple Repository API offers no such functionality it can not be used for conda.

1 Like

It surprises me that users savvy enough to discover and edit a config file and find and add the correct PyPI API URL would be naive enough to think that it would make Conda magically work with PyPI, not Google it to check, and then surprised and confused when things break. But I’ve seen stranger things, I suppose…

To note, you could use the legacy or PEP 691 JSON APIs for that, at least for packages with static metadata/wheels. Of course, it still wouldn’t work for many other reasons, but that one isn’t necessarily a hard obstacle.

1 Like

Think about it this way, most users of Python/Anaconda are just trying to get their job done, in fact there’s a high chance they’re not even developers, they could be scientists, analysts, traders, etc.

When users learn to use pip and/or conda their concern isn’t what is a package, what is a repository, how does this config exactly affect their tools, their concern is “does this allow me to do my job by letting me run import <foo> as is in my colleagues code/this web snippet I found/this new tool I want to use”.

Understanding what exactly pip, conda, packages, and repositories are is at best a tertiary concern for most users. They can use these tools for literally years and only have a superficial understanding so they can run the CLI commands and edit the config when they first set it up to “make it work”. But that’s fine most of the time because that is enough to let them get their job done.

4 Likes