2011-05-24 16 views
25

En Windows, que normalmente sólo tiene que utilizar el instalador binario, pero me gustaría instalar NumPy sólo en un virtualenv este tiempo, así que crearon un env virtual:de Windows + virtualenv + pip + NumPy (problemas al instalar NumPy)

virtualenv --no-site-packages --distribute summary_python 
cd summary_python/Scripts 
activate.bat 

Luego he intentado instalar NumPy

pip install numpy 

y me sale un error. Mi pip.log se pega a continuación:

Downloading/unpacking numpy 
    Running setup.py egg_info for package numpy 
    non-existing path in 'numpy\\distutils': 'site.cfg' 
    F2PY Version 2 
    blas_opt_info: 
    blas_mkl_info: 
     libraries mkl,vml,guide not found in c:\Users\fname.lname\Documents\summary_python\lib 
     libraries mkl,vml,guide not found in C:\ 
     NOT AVAILABLE 

    atlas_blas_threads_info: 
    Setting PTATLAS=ATLAS 
     libraries ptf77blas,ptcblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 
     libraries ptf77blas,ptcblas,atlas not found in C:\ 
     NOT AVAILABLE 

    atlas_blas_info: 
     libraries f77blas,cblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 
     libraries f77blas,cblas,atlas not found in C:\ 
     NOT AVAILABLE 

    blas_info: 
     libraries blas not found in c:\Users\fname.lname\Documents\summary_python\lib 
     libraries blas not found in C:\ 
     NOT AVAILABLE 

    blas_src_info: 
     NOT AVAILABLE 

     NOT AVAILABLE 

    lapack_opt_info: 
    lapack_mkl_info: 
    mkl_info: 
     libraries mkl,vml,guide not found in c:\Users\fname.lname\Documents\summary_python\lib 
     libraries mkl,vml,guide not found in C:\ 
     NOT AVAILABLE 

     NOT AVAILABLE 

    atlas_threads_info: 
    Setting PTATLAS=ATLAS 
     libraries ptf77blas,ptcblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 
     libraries lapack_atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 
     libraries ptf77blas,ptcblas,atlas not found in C:\ 
     libraries lapack_atlas not found in C:\ 
    numpy.distutils.system_info.atlas_threads_info 
     NOT AVAILABLE 

    atlas_info: 
     libraries f77blas,cblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 
     libraries lapack_atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 
     libraries f77blas,cblas,atlas not found in C:\ 
     libraries lapack_atlas not found in C:\ 
    numpy.distutils.system_info.atlas_info 
     NOT AVAILABLE 

    lapack_info: 
     libraries lapack not found in c:\Users\fname.lname\Documents\summary_python\lib 
     libraries lapack not found in C:\ 
     NOT AVAILABLE 

    lapack_src_info: 
     NOT AVAILABLE 

     NOT AVAILABLE 

    running egg_info 
    running build_src 
    build_src 
    building py_modules sources 
    building library "npymath" sources 
    No module named msvccompiler in numpy.distutils; trying from distutils 
    Running from numpy source directory.c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:531: UserWarning: Specified path is invalid. 
     warnings.warn('Specified path %s is invalid.' % d) 
    c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1417: UserWarning: 
     Atlas (http://math-atlas.sourceforge.net/) libraries not found. 
     Directories to search for the libraries can be specified in the 
     numpy/distutils/site.cfg file (section [atlas]) or by setting 
     the ATLAS environment variable. 
     warnings.warn(AtlasNotFoundError.__doc__) 
    c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1426: UserWarning: 
     Blas (http://www.netlib.org/blas/) libraries not found. 
     Directories to search for the libraries can be specified in the 
     numpy/distutils/site.cfg file (section [blas]) or by setting 
     the BLAS environment variable. 
     warnings.warn(BlasNotFoundError.__doc__) 
    c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1429: UserWarning: 
     Blas (http://www.netlib.org/blas/) sources not found. 
     Directories to search for the sources can be specified in the 
     numpy/distutils/site.cfg file (section [blas_src]) or by setting 
     the BLAS_SRC environment variable. 
     warnings.warn(BlasSrcNotFoundError.__doc__) 
    c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1333: UserWarning: 
     Atlas (http://math-atlas.sourceforge.net/) libraries not found. 
     Directories to search for the libraries can be specified in the 
     numpy/distutils/site.cfg file (section [atlas]) or by setting 
     the ATLAS environment variable. 
     warnings.warn(AtlasNotFoundError.__doc__) 
    c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1344: UserWarning: 
     Lapack (http://www.netlib.org/lapack/) libraries not found. 
     Directories to search for the libraries can be specified in the 
     numpy/distutils/site.cfg file (section [lapack]) or by setting 
     the LAPACK environment variable. 
     warnings.warn(LapackNotFoundError.__doc__) 
    c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1347: UserWarning: 
     Lapack (http://www.netlib.org/lapack/) sources not found. 
     Directories to search for the sources can be specified in the 
     numpy/distutils/site.cfg file (section [lapack_src]) or by setting 
     the LAPACK_SRC environment variable. 
     warnings.warn(LapackSrcNotFoundError.__doc__) 
    error: Unable to find vcvarsall.bat 
    Complete output from command python setup.py egg_info: 
    non-existing path in 'numpy\\distutils': 'site.cfg' 

F2PY Version 2 

blas_opt_info: 

blas_mkl_info: 

    libraries mkl,vml,guide not found in c:\Users\fname.lname\Documents\summary_python\lib 

    libraries mkl,vml,guide not found in C:\ 

    NOT AVAILABLE 



atlas_blas_threads_info: 

Setting PTATLAS=ATLAS 

    libraries ptf77blas,ptcblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 

    libraries ptf77blas,ptcblas,atlas not found in C:\ 

    NOT AVAILABLE 



atlas_blas_info: 

    libraries f77blas,cblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 

    libraries f77blas,cblas,atlas not found in C:\ 

    NOT AVAILABLE 



blas_info: 

    libraries blas not found in c:\Users\fname.lname\Documents\summary_python\lib 

    libraries blas not found in C:\ 

    NOT AVAILABLE 



blas_src_info: 

    NOT AVAILABLE 



    NOT AVAILABLE 



lapack_opt_info: 

lapack_mkl_info: 

mkl_info: 

    libraries mkl,vml,guide not found in c:\Users\fname.lname\Documents\summary_python\lib 

    libraries mkl,vml,guide not found in C:\ 

    NOT AVAILABLE 



    NOT AVAILABLE 



atlas_threads_info: 

Setting PTATLAS=ATLAS 

    libraries ptf77blas,ptcblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 

    libraries lapack_atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 

    libraries ptf77blas,ptcblas,atlas not found in C:\ 

    libraries lapack_atlas not found in C:\ 

numpy.distutils.system_info.atlas_threads_info 

    NOT AVAILABLE 



atlas_info: 

    libraries f77blas,cblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 

    libraries lapack_atlas not found in c:\Users\fname.lname\Documents\summary_python\lib 

    libraries f77blas,cblas,atlas not found in C:\ 

    libraries lapack_atlas not found in C:\ 

numpy.distutils.system_info.atlas_info 

    NOT AVAILABLE 



lapack_info: 

    libraries lapack not found in c:\Users\fname.lname\Documents\summary_python\lib 

    libraries lapack not found in C:\ 

    NOT AVAILABLE 



lapack_src_info: 

    NOT AVAILABLE 



    NOT AVAILABLE 



running egg_info 

running build_src 

build_src 

building py_modules sources 

building library "npymath" sources 

No module named msvccompiler in numpy.distutils; trying from distutils 

Running from numpy source directory.c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:531: UserWarning: Specified path is invalid. 

    warnings.warn('Specified path %s is invalid.' % d) 

c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1417: UserWarning: 

    Atlas (http://math-atlas.sourceforge.net/) libraries not found. 

    Directories to search for the libraries can be specified in the 

    numpy/distutils/site.cfg file (section [atlas]) or by setting 

    the ATLAS environment variable. 

    warnings.warn(AtlasNotFoundError.__doc__) 

c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1426: UserWarning: 

    Blas (http://www.netlib.org/blas/) libraries not found. 

    Directories to search for the libraries can be specified in the 

    numpy/distutils/site.cfg file (section [blas]) or by setting 

    the BLAS environment variable. 

    warnings.warn(BlasNotFoundError.__doc__) 

c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1429: UserWarning: 

    Blas (http://www.netlib.org/blas/) sources not found. 

    Directories to search for the sources can be specified in the 

    numpy/distutils/site.cfg file (section [blas_src]) or by setting 

    the BLAS_SRC environment variable. 

    warnings.warn(BlasSrcNotFoundError.__doc__) 

c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1333: UserWarning: 

    Atlas (http://math-atlas.sourceforge.net/) libraries not found. 

    Directories to search for the libraries can be specified in the 

    numpy/distutils/site.cfg file (section [atlas]) or by setting 

    the ATLAS environment variable. 

    warnings.warn(AtlasNotFoundError.__doc__) 

c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1344: UserWarning: 

    Lapack (http://www.netlib.org/lapack/) libraries not found. 

    Directories to search for the libraries can be specified in the 

    numpy/distutils/site.cfg file (section [lapack]) or by setting 

    the LAPACK environment variable. 

    warnings.warn(LapackNotFoundError.__doc__) 

c:\Users\fname.lname\Documents\summary_python\build\numpy\numpy\distutils\system_info.py:1347: UserWarning: 

    Lapack (http://www.netlib.org/lapack/) sources not found. 

    Directories to search for the sources can be specified in the 

    numpy/distutils/site.cfg file (section [lapack_src]) or by setting 

    the LAPACK_SRC environment variable. 

    warnings.warn(LapackSrcNotFoundError.__doc__) 

error: Unable to find vcvarsall.bat 

---------------------------------------- 
Command python setup.py egg_info failed with error code 1 
Exception information: 
Traceback (most recent call last): 
    File "c:\Users\fname.lname\Documents\summary_python\lib\site-packages\pip-1.0.1-py2.7.egg\pip\basecommand.py", line 126, in main 
    self.run(options, args) 
    File "c:\Users\fname.lname\Documents\summary_python\lib\site-packages\pip-1.0.1-py2.7.egg\pip\commands\install.py", line 223, in run 
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle) 
    File "c:\Users\fname.lname\Documents\summary_python\lib\site-packages\pip-1.0.1-py2.7.egg\pip\req.py", line 986, in prepare_files 
    req_to_install.run_egg_info() 
    File "c:\Users\fname.lname\Documents\summary_python\lib\site-packages\pip-1.0.1-py2.7.egg\pip\req.py", line 222, in run_egg_info 
    command_desc='python setup.py egg_info') 
    File "c:\Users\fname.lname\Documents\summary_python\lib\site-packages\pip-1.0.1-py2.7.egg\pip\__init__.py", line 255, in call_subprocess 
    % (command_desc, proc.returncode)) 
InstallationError: Command python setup.py egg_info failed with error code 1 

Respuesta

46

He tenido éxito instalando binarios NumPy en un virtualenv con un buen 'ol easy_install y un poco de magia para archivar.

El numpy-1.x.x-win32-superpack-python2.x.exe liberación que se descargan de SourceForge es realmente sólo un envoltorio fino alrededor de tres distribuciones binarias separadas (con SSE3, SSE2, o ninguna SSE habilitado, dependiendo de la capacidad de la CPU). Si abre el archivo EXE superpack en 7-Zip (u otra utilidad de archivo), puede extraer esos archivos de configuración individuales en algún lugar para utilizarlos por separado.

A continuación, active su entorno virtual, y correr

easy_install c:\path\to\extracted\numpy-1.x.x-sse3.exe 

para instalar los binarios SSE3 optimizados, por ejemplo. easy_install es lo suficientemente inteligente como para encontrar todo lo que necesita dentro de ese paquete wininst y extraerá el compilado egg en la carpeta de paquetes de sitio de su virtualenv. También puedo confirmar que pip todavía puede reconocer y/o desinstalar NumPy cuando haces esto, y que usar pip para instalar otros paquetes que dependen de NumPy funciona bien.

El único inconveniente es saber qué nivel de optimización usar (SSE3, SSE2 o no SSE). Si tiene un reasonably modern processor (más reciente que, por ejemplo, un Pentium 4 o Athlon 64), probablemente sea seguro ir con el SSE3 completo. Probablemente también pueda ejecutar el conjunto de pruebas para confirmar que todo funciona como se espera.


que he encontrado el "truco" easy_install a ser realmente útil para la instalación de todo tipo de paquetes binarios en un virtualenv. Aunque tengo todos los compiladores necesarios configurados en mi máquina, generalmente es más fácil/más rápido/más seguro seguir con el lanzamiento oficial cuando se proporciona uno.

+0

Para conseguir que los pandas funcionen tuve que hacer una actualización manual después, pero todos trabajando ahora "pip install pandas --upgrade" – user913059

4

Desde PIP sólo se puede instalar desde el código fuente, es necesario tener la configuración para crear y compilar NumPy para poder utilizar PIP. Nunca intenté esto.

Lo que hice recientemente para obtener NumPy, SciPy y Matplotlib en un entorno virtual en Windows 7   es copiar los directorios y archivos de mi egg Python instalación regular directamente en el entorno virtual. Para Matplotlib, también pude descomprimir el instalador binario directamente en el virtualenv (solo intenté esto para el instalador de Gohlke para Python 3.2).

Lo logré en el pasado para easy_install NumPy en un virtualenv de una distribución binaria, pero esta vez no lo logré (NumPy 1.5.1).

Alguien recomendó http://pypi.python.org/pypi/pyg que debería permitir la instalación desde paquetes binarios a un virtualenv, pero aún no lo he probado.

+0

gracias! Lo intenté con pyg y no tuve suerte. Revisaré periódicamente – oob

0

No tuve que hacer el truco de desempacar el archivo .exe. Acabo de activar mi entorno virtual, y luego:

easy_install numpy 
+0

Realmente vale la pena usar un extra de virtualenv, que es virtualenvwrapper. Es impresionante. Entonces lo activo con el comando 'workon'. Documentos aquí -> http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html#controlling-the-active-environment – miguelfg

Cuestiones relacionadas