Aby dodać do @Bryan Wyatt, wydaje się pożądane (i zamierzone), aby zainstalowane / zaktualizowane elementy PIP miały pierwszeństwo przed (prawdopodobnie starszymi) zainstalowanymi pakietami APT. Mój system miał odwrócone ścieżki apt i pip. Powinno być (ignorując inne wpisy):
- '/usr/local/lib/python2.7/dist-packages' (gdzie pip instaluje moduły)
- '/usr/lib/python2.7/dist-packages' (gdzie moduły apt install)
Jednak z powodu jakichś nieznanych działań, które musiałem podjąć, ścieżki te pojawiły się dla mnie w odwrotnej kolejności (ignorując inne wpisy):
- '/usr/lib/python2.7/dist-packages' (gdzie moduły apt install)
- '/usr/local/lib/python2.7/dist-packages' (gdzie pip instaluje moduły)
Okazuje się coś, czego nie dodana /usr/lib/python2.7/dist-packages
do /usr/local/lib/python2.7/dist-packages/easy-install.pth
. Po prostu usunięcie linii ze easy-install.pth
naprawiło dla mnie nieporozumienia. /usr/lib/python2.7/dist-packages
wciąż jest na mojej ścieżce, ponieważ dodaje się go później w innym miejscu.
Na marginesie, pprint sprawi, że Twoja ścieżka będzie ładniejsza ... tj .:
$ python -c "import sys; import pprint; pprint.pprint(sys.path)"
['',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
apt-get
ipip