install python2.7.3 + numpy + scipy + matplotlib + scikits.statsmodels + pandas0.7.3 corretamente

0

... usando o Linux (xubuntu). Como instalar python2.7.3 + numpy + scipy + matplotlib + scikits.statsmodels + pandas0.7.3 corretamente? Meu objetivo final é que eles trabalhem. O problema:

~$ python --version
Python 2.7.3

então eu já tenho um padrão do sistema 2.7.3, o que é bom!

~$ dpkg -s python-numpy
Package: python-numpy
Status: install ok installed

e eu já tenho o numpy instalado! ótimo! Mas ...

~$ python
Python 2.7.3 (default, Oct 23 2012, 01:07:38) 
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as nmp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named numpy

este módulo não pôde ser encontrado pelo python. O mesmo com scipy, matplotlib. Por quê?

~$ sudo apt-get install python-numpy
[...] 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-numpy is already the newest version.
[...]

porque não vê numpy e outros?

atualização:

>>> import sys
>>> print sys.path
['', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']
>>> 

então eu tenho /usr/local/lib/python2.7

~$ pip freeze
Warning: cannot find svn location for distribute==0.6.16dev-r0
BzrTools==2.4.0
CDApplet==1.0
[...]
matplotlib==1.0.1
mutagen==1.19
numpy==1.5.1
[...]
pandas==0.7.3
papyon==0.5.5
[...]
pytz==2012g
pyxdg==0.19
reportlab==2.5
scikits.statsmodels==0.3.1
scipy==0.11.0
[...]
zope.interface==3.6.1

como você pode ver, esses módulos já estão instalados! Mas! ls -la / usr / local / lib / dá APENAS python2.7 dir. E ainda

~$ python -V
Python 2.7.3

e

import sys sys.version '2.7.3 (default, Oct 23 2012, 01:07:38) \n[GCC 4.6.1]'

  

atualizado:

Provavelmente eu perdi outra instância ... Uma em /usr/Python-2.7.3/ e segunda (parece estar instalada "por mãos" há muito tempo) em /usr/python2.7.3/Python-2.7.3/  Mas como duas versões idênticas podem funcionar ao mesmo tempo? Provavelmente, um deles é "desativado" (não usado por nenhum programa, mas eu não sei como verificar se algum programa o usa).

~$ ls -la /usr/bin/python*
lrwxrwxrwx 1 root root       9 2011-11-01 11:11 /usr/bin/python -> python2.7
-rwxr-xr-x 1 root root 2476800 2012-09-28 19:48 /usr/bin/python2.6
-rwxr-xr-x 1 root root    1452 2012-09-28 19:45 /usr/bin/python2.6-config
-rwxr-xr-x 1 root root 2586060 2012-07-21 01:42 /usr/bin/python2.7
-rwxr-xr-x 1 root root    1652 2012-07-21 01:40 /usr/bin/python2.7-config
lrwxrwxrwx 1 root root       9 2011-10-05 23:53 /usr/bin/python3 -> python3.2
lrwxrwxrwx 1 root root      11 2011-09-06 02:04 /usr/bin/python3.2 -> python3.2mu
-rwxr-xr-x 1 root root 2852896 2011-09-06 02:04 /usr/bin/python3.2mu
lrwxrwxrwx 1 root root      16 2011-10-08 19:50 /usr/bin/python-config -> python2.7-config

existe um link simbólico python- > python2.7, talvez eu possa ln -f -s deste link para o destino exato /usr/Python-2.7.3/python sem causar danos ?? E como corretamente para remover a 'cópia' de 2.7.3? E mais ...

~$ ls -la /usr/bin/virtualenv 
-rwxr-xr-x 1 root root 58 2011-03-16 18:55 /usr/bin/virtualenv

mas funciona apenas neste caso:

~$ /usr/bin/python /usr/bin/virtualenv qenv
New python executable in qenv/bin/python
Installing distribute....................................................................................................................................................................................done.
Installing pip...............done.

e isso não funciona!

 python virtualenv.py pyenv

Vou tentar ser mais claro. Apenas perguntas. Por que eu posso importar numpy começando '/ usr / bin / python', mas não pode usar apenas 'python'? Se eu quiser instalar outra versão do python para diferentes aplicativos, qual é a melhor maneira de fazer isso? Como instalar pacotes no caminho python escolhido? Não encontrei um guia completo.

Obrigado a todos! Resolveu desta forma:

$ sudo nano /usr/share/python/debian_defaults
$ sudo mv /usr/bin/python /usr/bin/python2.Y_old
$ sudo ln -s -f /usr/bin/python2.7 /usr/bin/python

Minha versão padrão era 2.7.3 e agora é 2.7.2+. Eu não vejo grande diferença, então eu acho que foi bastante seguro. Mas preciso ler mais sobre

virtualenv

e

pip and default PATH

    
por boldnik 24.10.2012 / 18:30

3 respostas

3

Recomendo vivamente que utilize virtualenv . Virtualenv permite que você crie um ambiente python em cada projeto. Meu fluxo de trabalho para começar um novo projeto é

  • Crie o diretório do projeto myapp
  • Faça o download do virtualenv de link
  • Crie um ambiente virtual: python virtualenv.py pyenv
  • Ativar o virtualenv source pyenv/bin/activate
  • Instale os pacotes no ambiente virtual:

    pip install -U numpy matplotlib pandas ...

Com esta configuração, você pode controlar a versão, reinstalar ou remover os pacotes sem depender da versão disponível nos repositórios.

    
por 25.10.2012 / 15:19
1

Isso provavelmente é melhor perguntado em um fórum do Xubuntu, porque é provavelmente um problema de configuração. Há talvez mais de uma versão do python instalada?

No interpretador python, digite o seguinte código:

import sys
print sys.path

Verifique se o diretório numpy está instalado em um dos diretórios listados em sys.path .

No meu sistema FreeBSD (semelhante ao UNIX) com o python 2.7.3, o numpy é instalado como um subdiretório de /usr/local/lib/python2.7/site-packages/ . No Windows, provavelmente é C:\Python27\Lib\site-packages\ .

Se você, por exemplo, também tem um python 3.x instalado, pode ser que numpy et cetera instalado para esse python. Nesse caso, procure em /usr/local/lib/python3.x/site-packages/ ou C:\Python3x\Lib\site-packages\ .

    
por 24.10.2012 / 19:03
0

Parece que você está usando um Python 2.7.3 instalado em /usr/local/bin . Usando /usr/bin/python , você deve ser capaz de import numpy ; apt-get instala para /usr , mas nunca /usr/local .

    
por 24.10.2012 / 22:34