Windows + virtualenv + pip + NumPy (проблемы при установке NumPy)
В Windows я обычно просто использую двоичный установщик, но я хотел бы установить NumPy только в виртуальном времени на этот раз, поэтому Я создал виртуальный env:
virtualenv --no-site-packages --distribute summary_python
cd summary_python/Scripts
activate.bat
Затем я попытался установить NumPy
pip install numpy
И я получаю сообщение об ошибке. Мой pip.log вставлен ниже:
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
Ответы
Ответ 1
У меня был успех установки бинарных файлов NumPy в virtualenv с хорошим "ol easy_install
и немного магии без архивации.
numpy-1.x.x-win32-superpack-python2.x.exe
релиз, который вы загружаете из SourceForge, на самом деле является просто тонкой оболочкой вокруг трех отдельных бинарных дистрибутивов (с SSE3, SSE2, или SSE не включен, в зависимости от возможностей вашего процессора). Если вы откроете суперэкзамен EXE файл в 7-Zip (или другую утилиту архива), вы можете извлечь эти отдельные файлы настроек где-нибудь, чтобы использовать их отдельно.
Затем активируйте свою виртуальную среду и запустите
easy_install c:\path\to\extracted\numpy-1.x.x-sse3.exe
для установки, например, оптимизированных по SSE3 двоичных файлов. easy_install
достаточно умен, чтобы найти все, что нужно внутри пакета wininst
, и извлечет скомпилированное яйцо в папку вашего сайта virtualenv. Я также могу подтвердить, что pip все еще способен распознавать и/или удалять NumPy, когда вы это делаете, и что использование pip для установки других пакетов, зависящих от NumPy, отлично работает.
Единственный улов - это знать, какой уровень оптимизации использовать (SSE3, SSE2 или no-SSE). Если у вас есть разумно современный процессор (новее, чем, скажем, Pentium 4 или Athlon 64), вероятно, безопасно работать с полным SSE3. Возможно, вы также можете запустить тестовый пакет, чтобы убедиться, что все работает так, как ожидалось.
Я нашел трюк easy_install
"действительно полезным для установки всех видов двоичных пакетов в virtualenv. Несмотря на то, что у меня есть все необходимые компиляторы, установленные на моей машине, обычно проще/быстрее/безопаснее придерживаться официального выпуска, когда он предоставляется.
Ответ 2
Так как pip может устанавливать только из исходного кода, вам нужно настроить для сборки и компиляции NumPy, чтобы иметь возможность использовать pip, Я никогда не пробовал этого.
Что я недавно сделал, чтобы получить NumPy, SciPy и Matplotlib в виртуальную среду в Windows 7 - скопировать каталоги и файлы яйца из моей обычной установки Python непосредственно в виртуальную среду. Для Matplotlib мне также удалось распаковать двоичный установщик непосредственно в virtualenv (я только пробовал это для установщика Gohlke для Python 3.2).
В прошлом я действительно управлял easy_install NumPy в virtualenv из двоичного дистрибутива, но на этот раз я не справился (NumPy 1.5.1).
Кто-то рекомендовал http://pypi.python.org/pypi/pyg, который должен позволять устанавливать из двоичных пакетов в virtualenv, но я еще не пробовал его.
Ответ 3
Мне не нужно было делать трюк при распаковке файла .exe. Я просто активировал свою виртуальную среду, а затем:
easy_install numpy