Usando pacotes python 3 instalados por pip3 quando pacotes apt-installed existirem também?

5

Eu tenho o numpy 1.8.2 instalado em / usr / lib / python3 / dist-packages (via apt), e a versão mais nova (1.9.2) instalada em /usr/local/lib/python3.4/dist- pacotes (via pip). Ambos os caminhos estão em sys.path (nessa ordem), mas somente a versão antiga do apt está sendo importada em python3.

➜  ~  sudo pip3 install --upgrade numpy
[sudo] password for naught101: 
Real name of requirement numpy is numpy
Requirement already up-to-date: numpy in /usr/local/lib/python3.4/dist-packages
Cleaning up...
➜  ~  ipython3
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
Type "copyright", "credits" or "license" for more information.

IPython 1.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import numpy

In [2]: numpy.version
Out[2]: <module 'numpy.version' from '/usr/lib/python3/dist-packages/numpy/version.py'>

In [3]: 
KeyboardInterrupt

In [3]: numpy.version.version
Out[3]: '1.8.2'

In [5]: import sys

In [6]: sys.path
Out[6]: 
['',
 '/usr/local/bin',
 '/usr/lib/python3/dist-packages',
 '/usr/lib/python3.4',
 '/usr/lib/python3.4/plat-x86_64-linux-gnu',
 '/usr/lib/python3.4/lib-dynload',
 '/usr/local/lib/python3.4/dist-packages',
 '/usr/lib/python3.4/dist-packages',
 '/usr/lib/python3/dist-packages/IPython/extensions']

(python3 faz a mesma coisa que o ipython3 aqui)

Como posso obter o python3 para usar a versão mais recente?

Eu não posso simplesmente desinstalar a versão apt, porque outros pacotes dependem dela.

    
por naught101 11.03.2015 / 04:55

1 resposta

1

Esta postagem do blog explica a lógica do código por trás disso: link

Citando:

  

Como os documentos explicam, sys.path é preenchido usando o diretório de trabalho atual, seguido pelos diretórios listados em sua variável de ambiente PYTHONPATH, seguidos pelos caminhos padrão dependentes da instalação, que são controlados pelo módulo do site.

    
por Lucas Cimon 28.12.2015 / 10:05