无法将 .egg 文件添加到 scrapyd addversion.json
Can't add a .egg file to scrapyd addversion.json
我遇到的问题是我无法使用
将我的 .egg
文件上传到 scrapyd
curl http://127.0.0.1:6800/addversion.json -F project=scraper_app -F version=r1 egg=@scraper_app-0.0.1-py3.8.egg
它返回这样的错误消息
{"node_name": "Workspace", "status": "error", "message": "b'egg'"}
所以我在同一个项目中使用 Django
和 Scrapy
,我有这个文件夹结构
my_app/
-- apps/ # django apps folder
-- crawler/
-- __init__.py
-- admin.py
-- apps.py
-- etc..
-- pages/
-- __init__.py
-- admin.py
-- apps.py
-- etc..
-- my_app/ # django project folder
-- __init__.py
-- asgi.py
-- settings.py
-- etc..
-- scraper_app/ # scrapy dir
-- scraper_app/ # scrapy project folder
-- spiders/
-- abc_spider.py
-- __init__.py
-- middlewares.py
-- pipelines.py
-- settings.py
-- etc..
-- scrapy.cfg
-- manage.py
-- scrapyd.conf
-- setup.py # setuptools for creating the egg file
-- etc..
这是我的 setup.py
的样子
from setuptools import setup, find_packages
setup(
name="scraper_app",
version="1.0.0",
author="Khrisna Gunanasurya",
author_email="contact@khrisnagunanasurya.com",
description="Create egg file from 'scraper_app'",
packages=find_packages(where=['scraper_app'])
)
我的scrapyd.conf
文件
[scrapyd]
eggs_dir = eggs
logs_dir = logs
logs_to_keep = 5
dbs_dir = dbs
max_proc = 0
max_proc_per_cpu = 4
http_port = 6800
debug = off
runner = scrapyd.runner
application = scrapyd.app.application
和我的 scrapy.cfg
内容
[settings]
default = scraper_app.settings
[deploy]
url = http://127.0.0.1:6800/
project = scraper_app
所以我想要的是在我的 scrapyd/addversion.json
中添加一个 .egg
文件,这是我一步一步实现我想要的:
- 运行
py setup.py bdist_egg
.egg
文件正在 dist/
文件夹中生成,其名称为 scraper_app-0.0.1-py3.8.egg
- cd 到
dist/
文件夹
- 运行
curl http://127.0.0.1:6800/addversion.json -F project=scraper_app -F version=r1 -F egg=@scraper_app-0.0.1-py3.8.egg
然后我得到的是一条错误消息,如果我尝试从根目录 运行 curl
,并且 运行 像这样 curl http://127.0.0.1:6800/addversion.json -F project=scraper_app -F version=r1 -F egg=@dist\scraper_app-0.0.1-py3.8.egg
(我正在使用 windows) 它会返回这个错误
curl: (6) Could not resolve host: dist\scraper_app-0.0.1-py3.8.egg
我已经尝试用谷歌搜索它,但我找不到如何解决这个问题或我在这里犯了什么错误的步骤,我已经尝试从 scraper_app
目录创建 .egg
文件直接从 scraper_app
项目文件夹中创建一个 egg 文件,但效果不佳。
有人可以告诉我我的项目有什么问题吗?或者我在这里做错了什么?
谢谢
我在谷歌上搜索了更多,并尝试了 scrapyd-client
但 windows 有很多问题,使用 scrapyd-deploy
并不容易,但我在youtube 告诉我安装 scrapyd-client
.
的正确方法是什么
所以这是正确的安装方法。
Make sure you inside a virtualenv
, and then install the scrapyd-client
with pip install git+https://github.com/scrapy/scrapyd.git
. So it doesnt show any error or any difficulties to install it
然后你可以 运行 scrapyd-deploy
在 scrapy 项目文件夹中。
我遇到的问题是我无法使用
将我的.egg
文件上传到 scrapyd
curl http://127.0.0.1:6800/addversion.json -F project=scraper_app -F version=r1 egg=@scraper_app-0.0.1-py3.8.egg
它返回这样的错误消息
{"node_name": "Workspace", "status": "error", "message": "b'egg'"}
所以我在同一个项目中使用 Django
和 Scrapy
,我有这个文件夹结构
my_app/
-- apps/ # django apps folder
-- crawler/
-- __init__.py
-- admin.py
-- apps.py
-- etc..
-- pages/
-- __init__.py
-- admin.py
-- apps.py
-- etc..
-- my_app/ # django project folder
-- __init__.py
-- asgi.py
-- settings.py
-- etc..
-- scraper_app/ # scrapy dir
-- scraper_app/ # scrapy project folder
-- spiders/
-- abc_spider.py
-- __init__.py
-- middlewares.py
-- pipelines.py
-- settings.py
-- etc..
-- scrapy.cfg
-- manage.py
-- scrapyd.conf
-- setup.py # setuptools for creating the egg file
-- etc..
这是我的 setup.py
的样子
from setuptools import setup, find_packages
setup(
name="scraper_app",
version="1.0.0",
author="Khrisna Gunanasurya",
author_email="contact@khrisnagunanasurya.com",
description="Create egg file from 'scraper_app'",
packages=find_packages(where=['scraper_app'])
)
我的scrapyd.conf
文件
[scrapyd]
eggs_dir = eggs
logs_dir = logs
logs_to_keep = 5
dbs_dir = dbs
max_proc = 0
max_proc_per_cpu = 4
http_port = 6800
debug = off
runner = scrapyd.runner
application = scrapyd.app.application
和我的 scrapy.cfg
内容
[settings]
default = scraper_app.settings
[deploy]
url = http://127.0.0.1:6800/
project = scraper_app
所以我想要的是在我的 scrapyd/addversion.json
中添加一个 .egg
文件,这是我一步一步实现我想要的:
- 运行
py setup.py bdist_egg
.egg
文件正在dist/
文件夹中生成,其名称为scraper_app-0.0.1-py3.8.egg
- cd 到
dist/
文件夹 - 运行
curl http://127.0.0.1:6800/addversion.json -F project=scraper_app -F version=r1 -F egg=@scraper_app-0.0.1-py3.8.egg
然后我得到的是一条错误消息,如果我尝试从根目录 运行 curl
,并且 运行 像这样 curl http://127.0.0.1:6800/addversion.json -F project=scraper_app -F version=r1 -F egg=@dist\scraper_app-0.0.1-py3.8.egg
(我正在使用 windows) 它会返回这个错误
curl: (6) Could not resolve host: dist\scraper_app-0.0.1-py3.8.egg
我已经尝试用谷歌搜索它,但我找不到如何解决这个问题或我在这里犯了什么错误的步骤,我已经尝试从 scraper_app
目录创建 .egg
文件直接从 scraper_app
项目文件夹中创建一个 egg 文件,但效果不佳。
有人可以告诉我我的项目有什么问题吗?或者我在这里做错了什么?
谢谢
我在谷歌上搜索了更多,并尝试了 scrapyd-client
但 windows 有很多问题,使用 scrapyd-deploy
并不容易,但我在youtube 告诉我安装 scrapyd-client
.
所以这是正确的安装方法。
Make sure you inside a
virtualenv
, and then install thescrapyd-client
withpip install git+https://github.com/scrapy/scrapyd.git
. So it doesnt show any error or any difficulties to install it
然后你可以 运行 scrapyd-deploy
在 scrapy 项目文件夹中。