2016-02-04 281 views
0

我想安裝scrapy,併爲此我安裝了python 2.7和conda(因爲pip給了我錯誤,我無法解決)。之後,我爲scrapy創建了一個名爲py2的單獨環境,暢達。無法安裝scrapy

有了這個輸出,我想scrapy已經成功安裝在我的機器上了。

[py2] C:\Users\ADMIN>conda install -c https://conda.anaconda.org/scrapinghub scrapy 
Fetching package metadata: ...... 
Solving package specifications: ........................... 
# All requested packages already installed. 
# packages in environment at C:\dev\Anaconda3\envs\py2: 
# 
scrapy     1.0.3     py27_2 scrapinghub 

現在我讓它確保它是Python 2.7版我執行該

[py2] C:\Users\ADMIN>py 
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:40:30) [MSC v.1500 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 

這也是正確的,我想。

現在還是我無法做到這一點

>>> import scrapy 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named scrapy 

這表明scrapy沒有安裝。

環境:Windows 8(64位) 我是一個初學者,在Python和scrapy。

回答

0

因爲它都在conda的虛擬環境中,所以在安裝scrapy時,我需要傳遞conda虛擬環境的名稱,除了scrapy已經安裝在根目錄中(我的意思是在環境或機器之外)。

所以對於PY2虛擬環境,激活此之後,下面的命令將安裝scrapy:

conda install -n py2 -c https://conda.anaconda.org/scrapinghub scrapy 

這裏py2是環境的名稱。

This頁面幫助我弄清楚這裏發生了什麼。

我必須說python不是那麼容易學習。

1

有趣的是在Windows上運行Scrapy需要一些黑客。

您需要在Python中安裝對Windows的非官方支持,請查找PyWin32部分: http://www.lfd.uci.edu/~gohlke/pythonlibs/然後記得按照本頁上的建議運行postinstall.py -install

您可以根據自己的設置,您可能需要安裝C++編譯器爲Python,運行LXML要求: https://www.microsoft.com/en-us/download/details.aspx?id=44266

請認準指整體的Python不僅Scrapy例如類似的問題error: Unable to find vcvarsall.bat根據你的設置你會發現一些提示。

+0

據我所知,當你創建一個新的環境時,不會conda安裝所有的依賴關係嗎?在我的情況下,當我創建一個新的環境,然後安裝scrapy時,我發現已經安裝了lxml。我也安裝了「pywin32-220.win-amd64-py3.5.exe」,但是這是針對python 3的,我不知道如何在Python 2中安裝相同的程序。關於「vcvarsall.bat」,是的,我早先得到了這個錯誤,但在我的幫助下,我解決了這個問題 *我需要同一臺機器上的兩個Python版本。 –

+1

請按照我向您發送的非官方PyWin32鏈接,而不是官方網站。如果你滾動到PyWin32,你會發現pywin32-220-cp27-none-win32。whl,這個cp27表示它是用於Python 2.還需要C++編譯器,因爲lxml依賴於C++,也許你可以在沒有它的情況下觸發Scrapy,但是隨後可能會遇到解析問題。進入控制面板 - 系統和安全 - 系統 - 高級,系統設置 - 環境變量,並確保你的Python有C:\ Python27 \; C:\ Python27 \ Scripts \;您可以用相同的方式添加Python3,列出的第一個版本優先。 – Turo

+0

我使用64位機器,而不是「pywin32-220-cp27-none-win32.whl」我想我應該去「pywin32-220-cp27-none-win_amd64.whl」對不對?我也安裝了C++。 現在我已經使用pip install安裝了.whl文件,並且在我從http://ipython.scipy.org/misc/pywin32_postinstall.py下載腳本並在py2 conda環境中執行此操作後,它已成功安裝。但仍然導入scrapy沒有解決。 :( –