zoukankan      html  css  js  c++  java
  • 安装virtualenv(Scrapy)

    Windows 10家庭中文版,Python 3.6.4,

    virtualenv用来提供一个应用程序独立的 运行环境,这个独立是相对于系统的Python运行环境而言,开发者可以在virtualenv建立的运行环境中安装各种Python的包以及运行自己的应用程序,而这些操作都不会对系统的Python运行环境有任何影响。

    本文介绍了第一次安装virtualenv的步骤,以及建立一个虚拟运行环境,并在虚拟运行环境上安装Scrapy。

    参考:https://virtualenv.pypa.io/en/stable/installation/ (官文)

    注意:Windows系统上会有一些特别的提示,请安考官文。

    1.安装

    使用pip命令:pip3 install virtualenv

    在安装时范了一个错误,把virtualenv拼写错了,导致安装失败。

    安装成功后,Python的目录变化:

    Scripts下多了一个virtualenv.exe可执行程序,创建虚拟运行环境正是使用此程序。

    2.建立虚拟运行环境

    使用virtualenv.exe建立虚拟运行环境,首先,创建一个 空目录(或许非空目录也可以,但没试过)。

    打开命令行工具,进入到空目录env0626的父目录,执行virtualenv env0626即可创建 基于目录env0626 的 虚拟运行环境:

    命令执行完毕的env0626目录:

    特别说明,目录下的Scripts包含了可执行程序,比如pip、easy_install等,可以用于安装Python软件,,如果操作系统是Linux等,此目录名会是bin

     

    3.激活虚拟运行环境

    需要使用目录Scripts中的activate批处理程序,在命令行中输入activate即可。

    使用python命令可以进入Python交互式命令行。

    初步建立的虚拟运行环境安装的包:只有三个(就用过pip,比较熟悉)

    还期待Python版本会升级到最新的3.6.5,看来并没有,说明,系统的Python解释器被拷贝到虚拟环境了。

    那么,是否可以做升级呢?将虚拟运行环境的Python版本独自升级?(后续会尝试)

    4.在虚拟运行环境中安装Scrapy

    使用activate命令激活虚拟运行环境,在执行pip install scrapy即可——和系统环境下安装是相同的。

    一下子安装了好多包啊!使用pip list查看详情!

    5.在虚拟运行环境下运行Scrapy

    在env0626下建立工作目录ws,再拷贝一个基于Scrapy的爬虫程序到其中:

     1 # https://docs.scrapy.org/en/latest/intro/overview.html
     2 
     3 import scrapy
     4 
     5 class QuotesSpider(scrapy.Spider):
     6     name = 'quotes'
     7     start_urls = [
     8         'http://quotes.toscrape.com/tag/humor',
     9     ]
    10     
    11     def parse(self, response):
    12         for quote in response.css('div.quote'):
    13             yield {
    14                 'text': quote.css('span.text::text').extract_first(),
    15                 'author': quote.xpath('span/small/text()').extract_first(),
    16             }
    17         
    18         next_page = response.css('li.next a::attr("href")').extract_first()
    19         print('next_page = ', next_page)
    20         if next_page is not None:
    21             yield response.follow(next_page, self.parse)

    激活虚拟运行环境,执行爬虫程序:出错了!提升 ModuleNotFoundError: No module named 'win32api'

    安装win32api也失败了:没有找到!

    (env0626) D:wsenv0626ws>pip install win32api
    Collecting win32api
    Could not find a version that satisfies the requirement win32api (from versions: )
    No matching distribution found for win32api

    原来是要安装pywin32啊!用了9MB的流量呢!

    (env0626) D:wsenv0626ws>pip install pywin32

    Installing collected packages: pywin32
    Successfully installed pywin32-223

    此问题的参考链接

    再来执行爬虫程序:

    这次成功了,结果保存在了quotes.json文件中。

    6.后记

    除了activate命令,还有一个deactivate命令,作用和activate命令相反,用于 删除虚拟运行环境。不过,这个命令有必要吗?孤直接删除虚拟运行环境不是很好?

    上面在虚拟运行环境下使用pip安装时,好多程序都是网上下载的,浪费流量啊,那么,是否可以从系统Python环境中直接拷贝呢?

    有个异常,在虚拟运行环境执行exit命令后,命令行窗口就退出了,预期不是应该返回到命令行窗口的吗?

    virtualenv官文中还有不少 详细内容,请查看并dig。

    之前在学习Flask时遇到过virtualenv,但没有用文档记录,这次Scrapy再次遇到了,那就记录下吧,好像这个virtualenv很有用,不过,孤还需要更多场景来体会才是。

  • 相关阅读:
    hdoj 2544 最短路径
    树状数组 hdoj1166
    并查集学习
    1402大数相乘 FFT算法学习!
    hdu1014
    动态规划 简单题dp
    迷宫路径
    简单的动态规划dp
    poj 3282 (bFS)
    背包问题,看不懂,啊!!!!!!!!dp
  • 原文地址:https://www.cnblogs.com/luo630/p/9229767.html
Copyright © 2011-2022 走看看