Windows + virtualenv + pip + NumPy(安装NumPy时出现问题)

Windows上,我通常只使用二进制安装程序,但是这次我只想将NumPy安装在virtualenv中,所以我创build了一个虚拟环境:

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 

Solutions Collecting From Web of "Windows + virtualenv + pip + NumPy(安装NumPy时出现问题)"

我已经成功地将NumPy二进制文件安装到virtualenv中,并具有良好的“ easy_install和一点“非归档魔法”。

您从SourceForge下载的numpy-1.xx-win32-superpack-python2.x.exe版本实际上只是一个三个独立二进制发行版的简单包装(使用SSE3 , SSE2或未启用SSE,具体取决于CPU的功能)。 如果您打开7-Zip (或另一个存档实用程序)中的超级包EXE文件,则可以将这些单独的安装文件分别提取到某个位置以单独使用。

然后,激活你的虚拟环境,然后运行

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

例如,安装SSE3优化的二进制文件。 easy_install非常聪明,可以在wininst软件包中找到所需的所有东西,并将编译后的egg文件解压到virtualenv的site-packages文件夹中。 我也可以确认,当你这样做时,pip仍然能够识别和/或卸载NumPy,而使用pip安装依赖于NumPy的其他软件包工作得很好。

唯一的问题是知道使用哪个优化级别(SSE3,SSE2或no-SSE)。 如果你有一个合理的现代处理器 (比Pentium 4或Athlon 64更新 ),那么使用完整的SSE3可能是安全的。 您也可以运行测试套件来确认一切正常。


我发现easy_install “技巧”对于将各种二进制包安装到virtualenv非常有用。 即使我已经在我的机器上安装了所有必需的编译器,但在提供正式版本时,通常会更容易/更快/更安全。

由于pip只能从源代码安装,因此需要安装编译NumPy才能使用pip。 我从来没有试过这个。

我最近在Windows 7 上将 NumPy, SciPy和Matplotlib变成一个虚拟环境,就是把我的常规Python安装目录和egg文件直接复制到虚拟环境中。 对于Matplotlib,我也设法将二进制安装程序直接解压缩到virtualenv(我只对Gohlke Python 3.2的安装程序尝试过)。

我过去曾经管理过,把NumPy从二进制发行版中轻松地安装到virtualenv中,但是我没有管理这个时间(NumPy 1.5.1)。

有人建议http://pypi.python.org/pypi/pyg应该允许从二进制包安装到virtualenv,但我还没有尝试过。

我不必做解压.exe文件的窍门。 我只是激活了我的虚拟环境,然后:

 easy_install numpy