Scrapy在Python(默认Python实现)和PyPy(从PyPy 5.9开始)下运行Python 2.7和Python 3.4或更高版本。 如果您使用的是Anaconda或Miniconda,您可以从conda- forge通道安装该软件包,该软件包含适用于Linux,Windows和OS X的最新软件包。 要使用安装Scrapy conda,请运行: conda install -c conda-forge scrapy 或者,如果您已经熟悉Python包的安装,则可以使用以下命令从PyPI安装Scrapy及其依赖项: pip install Scrapy 请注意

未记录的模块 这里是一个当前未记录的模块的快速列表,但应该记录下来。随意为他们提供文档!(发送电子邮件到docs @ python . org。) 本章的想法和原创内容取自弗雷德里克·伦德的一篇帖子;本章的具体内容已经过大量修改. 特定于平台的模块 这些模块用于实现os.path模块,除此之外没有记录。几乎没有必要记录这些. ntpath -执行os.path在Win32和Win64平台上. posixpath – 实施 os.path在POSIX.

pipes– shell管道接口 源代码: Lib / pipes.py pipes模块定义了一个抽象概念的类pipeline – 从一个文件到另一个文件的一系列转换器 因为模块使用/ bin / sh的命令行,POSIX或兼容外壳os.system()和os.popen()是必须的。 pipesmodule定义了以下类: class pipes.Template 管道的抽象 示例: >>> import pipes >>> t = pipes.Template() >>> t.append(‘tr a-z A-Z’

pty– 伪终端实用程序 源代码: Lib / pty.py pty模块定义了处理伪终端概念的操作:启动另一个进程并能够以编程方式写入和读取其控制终端. 因为伪终端处理高度依赖于平台,所以只有Linux代码才有。(Linux代码应该可以在其他平台上运行,但尚未经过测试。) pty模块定义了以下功能: pty.fork() 叉子。将孩子的控制终端连接到伪终端。返回值是(pid, fd)。请注意,孩子得到pid 0,而fd是invalid。父项的返回值是孩子的pid,而fd是连接到孩子控制终端的文件描述符(也是孩子的标准输入和输出). pty.openpty() 使用os.openpt

fcntl– fcntl和ioctl系统调用 该模块对文件描述符执行文件控制和I / O控制。它是fcntl()和ioctl() Unix例程的接口。有关这些调用的完整描述,请参见fcntl(2)和ioctl(2) Unix手册页. 本模块中的所有函数都将文件描述符fd作为其第一个参数。这可以是整数文件描述符,例如sys.stdin.fileno()返回的,或io.IOBase对象,例如sys.stdin本身,它提供fileno()返回一个真正的filedescriptor. 在版本3.3中更改:这个模块中的操作用于提升IOError他们现在提取OSError. 该模块定义了以下内

posix– 最常见的POSIX系统调用 该模块提供对C标准和POSIX标准(一种伪装的Unix接口)标准化的操作系统功能的访问. 不要直接导入该模块.而是导入模块os,它提供了这个界面的portable版本。在Unix上,os模块提供了posix接口的超集。在非Unix操作系统上posix模块不可用,但通过os接口始终可以使用子集。一旦导入os,使用它而不是no会有posix性能损失。此外,os提供了一些额外的功能,比如当putenv()中的条目改变时自动调用os.environ. 错误报告为例外;对于类型错误给出了常见的异常,而系统调用报告的错误提高了OSError. &nbs

msvcrt– 来自MS VC ++运行时的有用例程 这些函数提供对Windows平台上一些有用功能的访问。一些更高级别的模块使用这些函数来构建其服务的Windowsimplement。例如,getpass模块在getpass()函数的实现中使用它 这些函数的更多文档可以在Platform API文档中找到. 该模块实现了控制台I / Oapi的普通和宽字符变体。普通的API仅处理ASCII字符,对国际化应用程序的用途有限。应尽可能使用宽字符API。 在版本3.3中更改:此模块中的操作现在提升OSError其中IOError被提升.   文件操作 msvcrt.locki

其他图形用户界面包 主要的跨平台(Windows,Mac OS X,类Unix)GUI工具包可供Python使用: 参见 PyGObject PyGObject使用GObject为C库提供内省绑定。其中一个库是GTK + 3小部件集.GTK +提供了比Tkinter提供的更多小部件。提供了一个onlinePython GTK + 3 Tutorialis . PyGTK PyGTK为旧版本的GTK + 2提供了绑定。它提供了一个面向对象的接口,它的级别略高于C的接口。还有绑定到GNOME。有一个在线教程. PyQt PyQt是 sip – 包装绑定到Qt工具包。Qt是一个广泛的C

signal– 为异步事件设置处理程序 这个模块提供了在Python中使用信号处理程序的机制 一般规则 signal.signal()函数允许定义自定义处理程序收到信号时被执行。安装了少量默认处理程序:SIGPIPE被忽略(因此管道和套接字上的写入错误可以报告为普通的Python异常)和SIGINT转换为KeyboardInterrupt异常. 特定信号的处理程序一旦设置,一直保持安装,直到它被明确重置(Python模拟BSD样式接口而不管底层实现),除了SIGCHLD的处理程序,底层实现 执行Python信号处理程序 Python信号处理程序不会在低级(C)信号处理程序中执行。相

使用asyncio进行开发 异步编程与经典的“顺序”编程不同. 本页列出了常见的错误和陷阱,并解释了如何避免它们. 调试模式 默认情况下,asyncio在生产模式下运行。为了简化开发,asyncio有debug mode. 有几种方法可以启用asyncio调试模式: 将PYTHONASYNCIODEBUG环境变量设置为1. 使用-X dev Python命令行选项. Passing debug=True到asyncio.run(). 调用loop.set_debug(). 除了启用调试模式外,还要考虑: 将 asyncio logger 的日志级别设置为logging.DEBUG,例如,可以在