2016-02-04 242 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没有解决。 :( –