【问题标题】:Can't add a .egg file to scrapyd addversion.json无法将 .egg 文件添加到 scrapyd addversion.json
【发布时间】:2020-05-31 11:03:59
【问题描述】:

我遇到的问题是我无法使用

将我的 .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”:“工作区”,“状态”:“错误”,“消息”:“b'egg'”}

所以我在同一个项目中使用DjangoScrapy,我有这个文件夹结构

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 文件,这是我一步一步实现我想要的:

  1. 运行py setup.py bdist_egg
  2. dist/ 文件夹中生成.egg 文件,其名称为scraper_app-0.0.1-py3.8.egg
  3. cd 到dist/ 文件夹
  4. 运行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) 无法解析主机:dist\scraper_app-0.0.1-py3.8.egg

我已经尝试用谷歌搜索它,但我找不到如何解决这个问题或我在这里做了什么错误的步骤,我已经尝试直接从 scraper_app 目录创建 .egg 文件,所以只需创建一个scraper_app 项目文件夹中的 egg 文件,但它不能正常工作。

谁能告诉我我的项目出了什么问题?或者我在这里做错了什么?

谢谢

【问题讨论】:

    标签: python django scrapy python-3.8 scrapyd


    【解决方案1】:

    在我用谷歌搜索更多之后,尝试了scrapyd-client,但 Windows 有很多问题,使用scrapyd-deploy 并不容易,但我在 youtube 上找到了一个视频,告诉我什么是正确的方法安装scrapyd-client

    所以这里是安装它的正确方法。

    确保您在virtualenv 内,然后安装scrapyd-clientpip install git+https://github.com/scrapy/scrapyd.git。所以它不会显示任何错误或安装它的任何困难

    然后你可以在scrapy项目文件夹上运行scrapyd-deploy

    【讨论】:

      猜你喜欢
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-11
      • 1970-01-01
      • 2019-07-21
      相关资源
      最近更新 更多