在windows中,使用pip install scrapyd-client命令安装scrapyd-client成功后,输入scrapyd-deploy命令后却无法运行,报错如下:
$ scrapyd-deploy -h
bash: /c/Program Files (x86)/Python37-32/Scripts/scrapyd-deploy:
c:\program: bad interpreter: No such file or directory
其中/c/Program Files (x86)/Python37-32为python安装路径及版本
google后得知需在scripts文件夹下创建scrapyd-deploy.bat文件。这可能需要管理员权限,首先以管理员身份运行命令行工具,输入以下命令进入scripts文件夹
cd C:\"Program Files (x86)"\Python37-32\Scripts
其中’C:“Program Files (x86)”\Python37-32’为python安装路径及版本
注意文件夹名称存在空格时须添加引号
使用以下命令创建并进入scrapyd-deploy.bat文件
vi scrapyd-deploy.bat
按i键进入编辑模式,编辑文件
@echo off
C:\"Program Files (x86)"\Python37-32\python.exe C:\":Program Files (x86)"\Python37-32\Scripts\scrapyd-deploy %*
同上,更改路径为自己python文件安装路径,同时将含有空格的文件夹加上引号
[ESC]键后输入:wq[ENTER]返回命令行
然后尝试运行scrapyd-deploy -h,查看是否成功(出现以下输出即运行成功)
$ scrapyd-deploy -h
Usage: scrapyd-deploy [options] [ [target] | -l | -L <target> ]
Deploy Scrapy project to Scrapyd server
Options:
-h, --help show this help message and exit
-p PROJECT, --project=PROJECT
the project name in the target
-v VERSION, --version=VERSION
the version to deploy. Defaults to current timestamp
-l, --list-targets list available targets
-a, --deploy-all-targets
deploy all targets
-d, --debug debug mode (do not remove build dir)
-L TARGET, --list-projects=TARGET
list available projects on TARGET
--egg=FILE use the given egg, instead of building it
--build-egg=FILE only build the egg, don't deploy it
若运行失败
使用命令行工具打开scripts文件夹下的scrapyd-deploy文件(不是刚刚创建的文件)
vi scrapyd-deploy
将第一行(以#!开头)路径中的Program Files更改为progra~1。若路径中文件夹名称为Program Files (x86),则改为progra~2。如下:
#!c:\progra~2\python37-32\python3.exe^M
[ESC]后:wq[ENTER]返回命令行
再次输入scrapyd-deploy -h命令即可运行成功。