【问题标题】:Using scrapy for python 3.5 on Windows AND using pip for python 2.7 after installed and used pip for python 3.5在 Windows 上使用 scrapy for python 3.5 并在安装后使用 pip for python 2.7 并使用 pip for python 3.5
【发布时间】:2016-05-23 23:57:01
【问题描述】:

第一个问题: 我使用的是 python 2.7,但我开始学习网络抓取,我阅读的教程使用 python 3.5。所以我为此安装了 python 3.5 和 pip。安装scrapy后,我无法使用

运行我的项目
scrapy crawl mywork

它会报告如下错误:

ImportError: cannot import name '_win32stdio'

然后我读到,现在 Windows 不支持带有 scrapy 的 python 3.5,但 Ubuntu。所以想问问有没有我不知道的配置?


第二个问题: 为了避免这个问题,我想回到 python 2.7 并为 2.7 安装 scrapy。 区分 2.x 和 3.x 版本的 pip 并不难

py -2 -m pip isntall thePackage

但问题是,在我安装了 python 3.5 和 pip for 3.5 之后, 我不能再将 pip 用于 py2.7。看来我无法链接到 python 2.7 的 url 或类似的东西。

无论我在 2.7 中安装什么包,它都像

Could not fetch URL https://pypi.python.org/.../: There was a problem 

confirming the ssl certificate: [Erron 185090050] _ssl.c:344 ...
....
Cannot fetch index base URL https://pypi.python.org/simple/
....
Could not find any downloads that satisfy the requirement pip in c:\python27\lib\site-packages\pip-1.5-py2.7.egg

我确实喜欢 python,但是安装 pakcages 部分真的很烦人

【问题讨论】:

  • 谢谢,我以前读过这个,但我不认为它解决了我的问题,我在问为什么 pip 在切换回 python2.7 时不起作用,以及如何在 python3 中使用 scrapy。 5 个窗口。
  • 你检查过你的环境变量了吗?
  • 我的旧版本 python 2.7.8 的 pip 工作正常,直到我安装了 python3.4。我认为 python3,4 可能会更改 python2 中的某些配置。无论如何,我卸载了python2.7.8并安装了python2.7.11,因为我读到pip是从2.7.11版本开始自动安装的。
  • 然后,我开始安装scrapy所需的包twisted。我得到了“valueError:[u'path']”。然后我检查了在安装不同的软件包时是否在 py2 和 py3 中都发生了相同的问题。而且我发现该错误仅在我在 py2 中安装 c 所需的软件包时发生。我在 stackoverflow 中读到一个问题,说我应该安装 pywin32 或 vs2008(带有 x64 编译器和工具,用于 x64 系统)。但是我已经在 py2 中有 pywin32 并且它没有帮助。而且我的笔记本电脑刚好有一个vs2010,所以我安装了它并重新启动了我的电脑。

标签: python scrapy pip version


【解决方案1】:

关于您使用 pip 的问题,您需要检查并修改您的环境变量:

https://docs.python.org/2/using/windows.html

3.3.1。附记:设置环境变量 Windows 有一个用于更改环境变量的内置对话框(以下指南适用于 XP 经典视图):右键单击您机器的图标(通常 位于您的桌面上并称为“我的电脑”)并选择 那里的属性。然后,打开高级选项卡并单击 环境变量按钮。

简而言之,你的路径是:

我的电脑‣属性‣高级‣环境变量在这个 对话框中,您可以添加或修改用户和系统变量。改变 系统变量,您需要不受限制地访问您的机器(即 管理员权限)。

否则,请删除 pip 并重新安装,因为它可能与您拥有的 pip 版本有关 (pip connection failure: cannot fetch index base URL http://pypi.python.org/simple/)

根据为什么 scrapy 没有使用 python 3.5 唤醒 - 这个问题已经在这里得到回答:Error installing scrapy in python 3.5

来自这篇文章的评论:

直到 Twisted 支持 Python 3.5,它不支持它不会工作 在窗户上。

–@克里斯霍克斯

【讨论】:

  • 感谢您的帮助。我现在通过重新安装 python 2.7 解决了这个问题。我使用的是python 2.7.8,我切换到自动安装了pip的2.7.11,然后我安装了visual studio 2010。然后我用pip安装了twisted,升级scrapy,一切正常。
【解决方案2】:

(基于此answer) 您可以使用来自here 的 whl 在 Python 3.5 上安装 Twisted。然后再次尝试安装 Scrapy。

【讨论】:

    猜你喜欢
    • 2017-09-14
    • 2017-02-12
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    相关资源
    最近更新 更多