2012-08-09 71 views
2

我的Python 2.7和我試圖用PyQuery,所以對於一個測試,我剛鍵入「進口PyQuery」,我得到了一個錯誤:Python/PyQuery:無法找到vcvarsall.bat?

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 

我真的不明白什麼是錯的或我應該做什麼......有人可以幫忙嗎?

謝謝。

編輯:

在迴應評論,我用簡單的安裝...

+0

你是如何嘗試安裝lxml的? – jdi 2012-08-09 19:55:14

回答

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爲EN例。我走到窗邊看着你,試試:

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

除非OP遇到問題,否則還應添加有關手動依賴項信息的部分。他可以手動安裝這些。 – jdi 2012-08-09 19:58:07

+0

他們都給了我完全相同的錯誤.... – 2012-08-09 20:01:06

+1

@jdi:對於MS Windows,lxml的二進制蛋發行版是針對庫靜態構建的,即它已經包含它們。如果您使用PyPI的官方lxml版本,則無需安裝外部庫。 除非您知道自己在做什麼,否則這意味着:如果使用lxml的二進制版本,請不要安裝libxml2或libxslt。按照上面的安裝說明使用easy_install。 僅當您想要升級庫和/或從源代碼編譯lxml時,應該安裝libxml2和libxslt的二進制分發版。 – favoretti 2012-08-09 20:07:13

0

除非你的Windows環境中設置正確(正確的Visual Studio版本爲您的Python版本和所有),你應該下載二進制雞蛋和安裝。我知道setuptools(並可能分發)支持在Windows上安裝二進制可執行文件包(僅基於distutils的可執行文件 - 具有藍色背景和舊點陣Python標識的文件;對不起,但我沒有在Windows上完成Python幾個月)。 PIP不會(可能是你在使用什麼)。

但是要回答你的問題,使用批處理文件vcvarsall.bat來設置從命令行構建Visual Studio項目/解決方案(通常使用任何Visual Studio工具)所需的環境變量。它默認不在你的PATH中,並且由於pip試圖使用它來正確地構建lxml,所以它失敗了。

我的建議:除非您知道如何使用Visual Studio命令行工具,否則在Windows上使用二進制包會更好。

相關問題