Python / PyQuery:无法找到vcvarsall.bat?

时间:2012-08-09 19:46:01

标签: python windows pyquery

我有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

我真的不明白什么是错的,或者我应该做些什么......有人可以帮忙吗?

感谢。

修改

在回复评论时,我使用了简易安装......

2 个答案:

答案 0 :(得分:3)

来自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

答案 1 :(得分:0)

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

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

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