【问题标题】:Python/PyQuery: Unable to find vcvarsall.bat?Python/PyQuery:找不到 vcvarsall.bat?
【发布时间】:2012-08-07 02:48:42
【问题描述】:

我有 Python 2.7,我正在尝试使用 PyQuery,所以为了测试,我只输入了“import PyQuery”,但出现错误:

Traceback (most recent call last):
  File "C:\Users\Jacob\Documents\dupes.py", line 1, in <module>
    import pyquery
  File "C:\Python27\lib\site-packages\pyquery-1.2.1-py2.7.egg\pyquery\__init__.py", line 12, in <module>
    from .pyquery import PyQuery
  File "C:\Python27\lib\site-packages\pyquery-1.2.1-py2.7.egg\pyquery\pyquery.py", line 8, in <module>
    from lxml import etree
ImportError: No module named lxml

所以我去命令提示符并尝试安装lxml,但我得到了这个:

Building lxml version 2.3.5.
Building without Cython.
ERROR: 'xslt-config' is not recognized as an internal or external command,
operable program or batch file.

** make sure the development packages of libxml2 and libxslt are installed **

Using build configuration of libxslt
error: Setup script exited with error: Unable to find vcvarsall.bat

我真的不明白出了什么问题或我应该怎么做...有人可以帮忙吗?

谢谢。

编辑:

针对评论,我使用了简易安装...

【问题讨论】:

  • 你是如何尝试安装 lxml 的?

标签: python windows pyquery


【解决方案1】:

除非您的 Windows 环境设置正确(适用于您的 Python 版本的适当的 Visual Studio 版本等等),否则您应该下载二进制鸡蛋并安装它们。我知道 setuptools(并且可能分发)支持在 Windows 上安装二进制可执行包(仅限基于 distutils 的可执行文件 - 具有蓝色背景和旧点矩阵 Python 徽标的那些;抱歉,但我还没有在 Windows 上完成 Python几个月)。 Pip 没有(可能是您正在/正在使用的)。

但要回答您的问题,批处理文件 vcvarsall.bat 用于设置从命令行构建 Visual Studio 项目/解决方案(通常使用任何 Visual Studio 工具)所需的环境变量。默认情况下它不在您的 PATH 中,并且由于 pip 试图使用它来正确构建 lxml,所以它失败了。

我的建议:除非您知道如何使用 Visual Studio 命令行工具,否则最好在 Windows 上使用二进制包。

【讨论】:

    【解决方案2】:

    来自lxml的安装说明:

    easy_install --allow-hosts=lxml.de,*.python.org lxml
    

    在 MS Windows 上,以上将安装我们提供的二进制构建。如果还没有最新版本的二进制构建,请在 PyPI 中搜索包含它们的最后一个版本,并将该版本传递给 easy_install,如下所示:

    easy_install --allow-hosts=lxml.de,*.python.org lxml==2.2.2
    

    [编辑]

    好的,2.2.2 就是一个例子。我去找你了,试试:

    easy_install --allow-hosts=lxml.de,*.python.org lxml==2.3
    

    【讨论】:

    • 除非OP有问题,否则您还应该添加有关手动依赖信息的部分。他可以手动安装这些。
    • @jdi:对于 MS Windows,lxml 的二进制 egg 发行版是针对库静态构建的,即它已经包含它们。如果您使用来自 PyPI 的官方 lxml 构建,则无需安装外部库。除非您知道自己在做什么,否则这意味着:如果您使用 lxml 的二进制构建,请不要安装 libxml2 或 libxslt。只需按照上面的安装说明使用 easy_install。只有当您想升级库和/或从源代码编译 lxml 时,您才应该安装 libxml2 和 libxslt 的二进制分发版。
    • 他的安装过程显然没有捡到一个二进制鸡蛋。它一定是在尝试构建它。
    • 是的,因为他只是输入了我的示例,没有按照说明进行查看:) 我去找他,2.3 有二进制。
    • @MarcusJohnson:查看我最新编辑的版本,确实包含二进制:)
    猜你喜欢
    • 2016-04-07
    • 2015-12-26
    • 1970-01-01
    • 2011-02-09
    • 2013-09-10
    • 2015-12-14
    • 2011-09-01
    • 1970-01-01
    相关资源
    最近更新 更多