Este é provavelmente um problema com sua variável de ambiente PYTHONPATH ou com a falta de um. Usando apt-get , o matplotlib será instalado no prefixo do diretório /usr . Então você encontrará todo o pacote instalado em algum lugar como /usr/lib/python2.7/site-packages/matplotlib .
Você pode confirmar isso com um comando como: dpkg -L python-matplotlib .
Quando você fez o download separadamente da fonte matplotlib, construiu e instalou você mesmo usando os comandos acima, você terá que instalá-lo no prefixo /usr/local . Isso é bom, já que as bibliotecas do sistema (em /usr prefix) são gerenciadas por dpkg e você não deseja sobrescrever ou interferir nesses arquivos, por medo de violar outro, dependendo do pacote ou deixando os arquivos não gerenciados mentindo por aí.
Agora, você provavelmente está usando o python instalado pelo sistema. Ele vem pré-instalado em todas as distribuições Linux, então por que você não? Mas isso é instalado em /usr . O caminho de pesquisa do módulo padrão do Python é construído a partir do prefixo no qual ele está instalado. Portanto, seu sistema python (configurado com --prefix=/usr ), por padrão, procurará apenas por módulos instalados em /usr/lib/python2.7 , ignorando completamente os módulos que você instalou manualmente em /usr/local/lib/python2.7 .
Então, para contornar isso, aqui estão algumas soluções possíveis: -
-
(Não faça isso!) Crie e instale o matplotlib com
--prefix=/usr. -
Edite seu
PYTHONPATHpara incluir/usr/local/lib/python2.7/site-packagesEsta é uma solução viável quando é sua própria máquina. Você instala pacotes lá como usuário root e edita~/.bashrcou/etc/bash.bashrcpara exportar a variável de ambiente PYTHONPATH. É um pouco confuso para uma máquina ou servidor multiusuário, já que todos esses pacotes precisam ser atualizados manualmente pelo usuário root, o que pode nem sempre ser conveniente. É muito melhor deixar isso para o seu gerenciador de pacotes do sistema. -
Use
easy_installpara instalar o matplotlib (ou qualquer biblioteca em PyPi ) em algum lugar onde o Python o encontre. Neste caso, ele provavelmente se queixaria de que você já o instalou (portanto, você deve desinstalá-lo primeiro, comapt-get).easy_install -m matplotlibO PyPi geralmente é atualizado com as versões mais recentes do pacote Python. Você saberá por que, se você tiver que carregar um pacote lá (peça de p * ss), então este é um método confiável de obter pacotes python atualizados. Você precisará do pacote
distributeinstalado - instale-o comapt-get. -
Instale o matplotlib 1.2 no seu diretório de usuários. Mais tarde, você poderá removê-lo quando os repositórios forem atualizados para a versão desejada.
python setup.py install --user
O último método é o meu método favorito. Descobri isso há relativamente pouco tempo, mas não é necessário editar nenhum sistema ou arquivos de configuração ou variáveis de ambiente específicos do usuário, não interfere nos pacotes do sistema e não precisa de um usuário sudo para instalar.
Isso instalará o matplotlib em ~/.local/lib/python2.7 no Linux; em ~/Library/... no OS X e provavelmente em algum outro lugar em outras distros. De qualquer forma, esse método é suportado em todas as plataformas e seus módulos específicos do usuário serão carregados de preferência em relação aos do sistema.
Agora vá se divertir com o matplotlib. É um ótimo pacote!
P.S. Não construa pacotes como usuário root. Eu acho que é uma prática ruim deixar arquivos de propriedade raiz em diretórios de usuários.
P.P.S. Você pode verificar onde o matplotlib (ou qualquer outro módulo python) foi carregado a partir do interpretador Python. por exemplo: -
>>> import matplotlib
>>> print matplotlib.__file__
/usr/lib/python2.7/site-packages/matplotlib/__init__.pyc