Difference between devpi and pypi server

2019-06-22 09:17发布

问题:

Had a quick question here, am used to devpi and was wondering what is the difference between devpi and pypi server ?

Is on better than another? Which of this one scale better?

Cheers

回答1:

PyPI (Python Package Index)- is the official repository for third-party Python software packages. Every time you use e.g. pip to install a package that is not in the standard it will get downloaded from the PyPI server.

All of the packages that are on PyPI are publicly visible. So if you upload your own package then anybody can start using it. And obviously you need internet access in order to use it.

devpi (not sure what the acronym stands for) - is a self hosted private Python Package server. Additionally you can use it for testing and releasing of your own packages.

Being self hosted it's ideal for proprietary work that maybe you wouldn't want (or can't) share with the rest of the world.

So other features that devpi offers:

  • PyPI mirror - cache locally any packages that you download form PyPI. This is excellent for CI systems. Don't have to worry if a package or server goes missing. You can even still use it if you don't have internet access.
  • multiple indexes - unlike PyPI (which has only one index) in devpi you can create multiple indexes. For example a main index for packages that are rock solid and development where you can release packages that are still under development. Although you have to be careful with this because a large amount of indexes can make things hard to track.
  • The server has a simple web interface where you can you and search for packages.
  • You can integrate it with pip so that you can use your local devpi server as if you were using PyPI.

So answering you questions:

  • Is one better than the other? - well these are two different tools really. No clear answer here, depends on what your needs are.
  • Which scales better? - definitely devpi.

The official website is very useful with good examples: http://doc.devpi.net/latest/