[egenix-users] Installing our Python packages with pip 1.5

M.-A. Lemburg mal at egenix.com
Tue Jan 14 13:55:54 CET 2014

Dear Users,

the latest pip 1.5 made it really annoying to install packages
which are not hosted on PyPI, but instead are made available on
other servers - at least using the default settings in pip.

In pip 1.4.2 and earlier, it was possible to install the packages
with e.g.

pip install egenix-mx-base

With pip 1.5, the only way to download eGenix packages via PyPI
indirection is to use e.g.

pip install --allow-all-external --allow-unverified egenix-mx-base egenix-mx-base

Until we come up with a better solution, there are two simple
ways to make this more elegant:

pip install -i https://downloads.egenix.com/python/index/ucs2/ egenix-mx-base

or, download the .tar.gz file from our website and point pip directly
at the .tar.gz file:

pip install egenix-mx-base-3.2.7.tar.gz

Note that setuptools 2.1's easy_install still works as expected.

You may ask, why we don't simply upload everything to PyPI. These
are the reasons:

* PyPI uses terms which we find problematic.

  In particular the fact that users of PyPI receive the same
  irrevocable rights to host the uploaded as the PSF does.

  In case, we are ever forced to take down a package upload from
  PyPI, this would be easy to do with the PSF, but tracking down
  all user hosted versions would be next to impossible.

* It currently doesn't fit our release process.

  We are uploading around 66 files to our servers for each package
  release. For egenix-mx-base, that's around 300 MB worth of
  distribution files.

  Uploads are done with rsync to easily resume failed uploads
  or to apply last minute fixes. This is not possible with PyPI.

  The PyPI servers are located in Oregon, USA. Our servers are
  located in Germany, so uploads are generally faster.

  In summary, using PyPI would delay the release process considerably.

* Uploading to PyPI means putting the packages under US jurisdiction

  Some of our packages include crypto code. We'd like to avoid
  having to deal with US export regulations and instead just focus
  on the more export-friendly German regulations.

We'll work on a solution to make things easier for our users,
but it'll take some time.

One option we're considering is uploading a network installer to
PyPI which then automatically determines the right to download
and passes this to pip for processing. This would also allow us
to work around the many issues with platform detection in

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Jan 14 2014)
>>> Python Projects, Consulting and Support ...   http://www.egenix.com/
>>> mxODBC.Zope/Plone.Database.Adapter ...       http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/

::::: Try our mxODBC.Connect Python Database Interface for free ! ::::::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611

More information about the egenix-users mailing list