Python中如何配置Scrapy框架默认使用Python3?

就是写一个 main.py 然后 python3 执行,但是这样的问题如果很多爬虫,是不是对应很多 main 呢? from scrapy.cmdline import execute

if name == 'main':

execute("scrapy crawl xiaomiquan".split())

Python中如何配置Scrapy框架默认使用Python3?

3 回复

在Scrapy项目里,默认Python版本是由你运行scrapy命令的环境决定的。如果你系统里同时装了Python2和Python3,得确保用Python3来创建和运行项目。

最直接的方法是在创建项目和运行命令时显式指定python3。比如,创建新项目时用:

python3 -m scrapy startproject myproject

运行爬虫时也用:

python3 -m scrapy crawl myspider

如果你在虚拟环境里工作,那更方便。用Python3创建虚拟环境:

python3 -m venv myenv
source myenv/bin/activate  # Linux/Mac
# 或 myenv\Scripts\activate  # Windows

激活后,pip install scrapy安装的就是Python3版本的Scrapy,之后所有scrapy命令都会自动用Python3。

另外,可以在爬虫脚本开头加Shebang行,比如#!/usr/bin/env python3,但这主要对直接执行脚本有用。对于Scrapy,还是控制运行环境更靠谱。

总结:用Python3环境运行Scrapy命令就行。


virtualenv/venv/pyenv 考虑一下?

这个我用过的,挺麻烦的

回到顶部