[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Python-modules-team] My Pip installation is broken after upgrading Debian from oldstable/Wheezy to stable/Jessie...



Daniele Tricoli <eriol@mornie.org> writes:

> @Ant Dude: just to recap and to be sure I understand correctly: you should 
> have installed requests 2.4.3-6 and python-pip (1.5.6-5), right?
> Renaming requests (Debian packaged version) install directory make pip work, 
> right?

He previously said he renamed the /usr/local version, not the packaged
version:

/usr/local/lib/python2.7/dist-packages/requestsRENAMED

I think he might be getting confused where the files are coming from and
the difference between "apt-get install python-xyz" vs "pip install
xyz".

So I will try to explain: If you install the package with "pip install
xyz" - it will get installed under /usr/local. However the Debian
package system doesn't understand this, and doesn't know that you have
done this. So you may have installed a version that is not compatible
with the Debian packages.

When you install a package with "apt-get install python-xyz" (including
security updates) it will get installed under /usr/lib. The package
system knows about these packages and will work to ensure that the
versions are compatible. However any packages you have installed locally
with "pip install xyz" in /usr/local will take priority and get used
instead. Even if they are not compatible.

So as a result, it is not a good idea to install any packages locally in
/usr/local - you should always install packages with "apt-get" as only
these packages are tested by Debian to work with Debian packages.

Just to confuse matters, there are some upstream packages - particular
those not yet in Debian, where the upstream authors do recommend
installing missing dependancies with "pip install xyz" - this is not
actually good practise.

Hope this helps.
-- 
Brian May <bam@debian.org>


Reply to: