Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pip安装出现错误:找不到vcvarsall.bat_Python_Python 2.7_Pip_Zipline - Fatal编程技术网

Python pip安装出现错误:找不到vcvarsall.bat

Python pip安装出现错误:找不到vcvarsall.bat,python,python-2.7,pip,zipline,Python,Python 2.7,Pip,Zipline,在带有Python 2.7的Windows 8上使用pip install zipline会出现以下错误: Downloading/unpacking six (from python-dateutil==2.1->delorean->zipline[all]) Running setup.py egg_info for package six Installing collected packages: blist, pytz, requests, python-dateut

在带有Python 2.7的Windows 8上使用
pip install zipline
会出现以下错误:

Downloading/unpacking six (from python-dateutil==2.1->delorean->zipline[all])
  Running setup.py egg_info for package six

Installing collected packages: blist, pytz, requests, python-dateutil, six
  Running setup.py install for blist
    building '_blist' extension
    error: Unable to find vcvarsall.bat
    Complete output from command C:\Python27\python.exe -c "import setuptools;__
file__='c:\\users\\ThatsMe\\appdata\\local\\temp\\pip-build-ThatsMe\\blist\\setup.py';ex
ec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" inst
all --record c:\users\ThatsMe\appdata\local\temp\pip-xvoky2-record\install-record.tx
t --single-version-externally-managed:

running install

running build

running build_py

running build_ext

building '_blist' extension

error: Unable to find vcvarsall.bat

问题:如何解决错误?运行
pip install zipline[all]
会出现相同的错误…

您需要在路径中包含Visual Studio的bin dir。Pip安装正在尝试编译一些C代码

您的路径中需要有Visual Studio的bin dir。Pip安装正在尝试编译一些C代码

您可以使用ol'good
easy\u install zipline

easy\u install
不是pip,但它的一个优点是能够下载并安装二进制软件包,这将使您无需准备好VC++即可。当然,这依赖于以下假设:二进制文件是为您的Python版本准备的

更新:

是的,Pip现在可以安装二进制文件了


有一种新的二进制Python归档格式()应该取代“鸡蛋”。
pip
已经支持控制盘。这意味着,一旦有人为您的平台构建轮子并将其上传到PyPI,您就可以使用
pip
安装
zipline
,而无需编译它。

您可以使用ol'good
轻松安装zipline

easy\u install
不是pip,但它的一个优点是能够下载并安装二进制软件包,这将使您无需准备好VC++即可。当然,这依赖于以下假设:二进制文件是为您的Python版本准备的

更新:

是的,Pip现在可以安装二进制文件了


有一种新的二进制Python归档格式()应该取代“鸡蛋”。
pip
已经支持控制盘。这意味着你可以安装<代码> ZipLIN <代码> > <代码> PIP <代码>,只要有人为你的平台建立了轮子,并将它上传到PyPI,就可以编译它。

< P>因为你的机器上没有安装C++编译器,检查下面的

    < L> >微软下载Visual C++ 2008。不管怎么说,这是一个非常有用的页面,所以你可能应该把它添加到书签中。对于Python 3.3+使用。 安装它

  • 打开Windows资源管理器(文件浏览器),搜索“vcvarsall.bat”的位置并将其剪切到剪贴板

  • 从Windows开始键运行regedit。您将需要管理员权限

  • 将注册表项添加到 HKEY\U LOCAL\U MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC\ProductDir(64位Windows)或 HKEY\U LOCAL\U MACHINE\Software\Microsoft\VisualStudio\9.0\Setup\VC\ProductDir(32位) 如上所述

提示:注册表目录中的0.9是当前安装的visual studio版本,如果运行VS 2013,则必须找到路径HKEY\U LOCAL\U MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\12.0

  • 在Windows开始键处,键入cmd以获取命令shell。如果需要,请转到虚拟环境并运行activate.bat

  • pip安装或您用来安装它的任何东西


因为您的机器上没有安装C++编译器,请检查下面的

    < L> >微软下载Visual C++ 2008。不管怎么说,这是一个非常有用的页面,所以你可能应该把它添加到书签中。对于Python 3.3+使用。 安装它

  • 打开Windows资源管理器(文件浏览器),搜索“vcvarsall.bat”的位置并将其剪切到剪贴板

  • 从Windows开始键运行regedit。您将需要管理员权限

  • 将注册表项添加到 HKEY\U LOCAL\U MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC\ProductDir(64位Windows)或 HKEY\U LOCAL\U MACHINE\Software\Microsoft\VisualStudio\9.0\Setup\VC\ProductDir(32位) 如上所述

提示:注册表目录中的0.9是当前安装的visual studio版本,如果运行VS 2013,则必须找到路径HKEY\U LOCAL\U MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\12.0

  • 在Windows开始键处,键入cmd以获取命令shell。如果需要,请转到虚拟环境并运行activate.bat

  • pip安装或您用来安装它的任何东西

    • 感谢“msoliman”的提示,但是他的回答并没有为那些没有VS2010的人提供明确的解决方案
      例如,我有VS2012和VS2013,但在系统注册表中没有这样的键

      解决方案:
      编辑文件:“[Python\u install\u loc]/Lib/distutils/msvc9compiler.py”
      第224行的更改:

      productdir = Reg.get_value(r"%s\Setup\VC" % vsbase,
                                     "productdir")
      
      致:

      多亏了“msoliman”的提示,这应该是可行的,但是他的回答并没有为那些没有VS2010的人提供明确的解决方案
      例如,我有VS2012和VS2013,但在系统注册表中没有这样的键

      解决方案:
      编辑文件:“[Python\u install\u loc]/Lib/distutils/msvc9compiler.py”
      第224行的更改:

      productdir = Reg.get_value(r"%s\Setup\VC" % vsbase,
                                     "productdir")
      
      致:


      这应该行得通。

      这里的问题是
      $Python\u install\u prefix/Lib/distutils/msvc9compiler.py
      中的第292行(这里使用Python 3.4.3),它说:

      VERSION = get_build_version()
      
      这只检查构建python时使用的MSVC版本。只需将这一行替换为实际的Visual Studio版本,例如
      MSVC2013的
      12.0

      VERSION = 12.0
      
      这将解决问题

      更新:事实证明,有一个很好的理由为什么这个版本是硬编码的。MSVC C运行时不需要在主要版本之间兼容。因此,当您使用不同的VS版本时,可能会遇到运行时问题。因此,我建议使用VS2008(适用于Python2.6到3.2)和VS2010(适用于Python3.3和更高版本),直到这个问题解决为止

      二进制兼容性将随VS 2015()和Python 3.5一起提供

      针对Python2.7用户,微软发布了
      git clone https://github.com/matplotlib/matplotlib
      git clone https://github.com/jbmohler/matplotlib-winbuild
      $ python matplotlib-winbuild\buildall.py
      
      def find_vcvarsall(version):
          return r"C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\vcvarsall.bat"
      
      def find_vcvarsall(version):
              return <path>\vcvarsall.bat