我正在尝试使用scrapy将我的爬虫项目部署到scrapyd实例,但调用commend会返回以下错误:
服务器响应(200):{"status":"error","message":"AttributeError:'NoneType'对象没有属性'module_name'"}
这是我的setup.py来构建部署期间提交的python egg:
from setuptools import setup, find_packages
setup(
name = 'mycrawler',
version = '0.1',
packages = find_packages(),
install_requires = [
'scrapy',
'PyMongo',
'simplejson',
'queue'
]
)
Run Code Online (Sandbox Code Playgroud)
我的scrapy.cfg:
[settings]
default = mycrawler.settings
[deploy:scrapyd_home_vm]
url = http://192.168.1.2:6800/
project = mycrawler
[deploy:scrapyd_local_vm]
url = http://192.168.38.131:6800/
project = mycrawler
Run Code Online (Sandbox Code Playgroud)
我觉得这与鸡蛋的制作方式有关,但我不确定.我知道当你访问一个应该是对象的属性时,python会抛出这样的错误,但无论出于何种原因,它实际上都是null.我也没有"module_name"属性或任何试图在我自己的代码中引用它的东西.从本地scrapy运行爬虫工作得很好,但部署鸡蛋却没有.
我使用命令pip install beautifulsoup4
安装beautifulsoup,然而,在我尝试导入它后失败我发现了一些有趣的东西,只有egg-info文件夹但没有脚本文件夹,有人可以告诉我为什么以及如何解决这个问题?我知道我可以获取脚本并将其移动到sitepackages文件夹,我确实喜欢它并且它可以工作,但我觉得这是个坏主意.
我不知道从哪里开始诊断和解决这个问题:
$ bin/django celeryd -l DEBUG -v 3
-------------- celery@lucid32 v3.0.3 (Chiastic Slide)
---- **** -----
--- * *** * -- [Configuration]
-- * - **** --- . broker: django://localhost//
- ** ---------- . app: default:0x8b0aa4c (djcelery.loaders.DjangoLoader)
- ** ---------- . concurrency: 1 (processes)
- ** ---------- . events: OFF (enable -E to monitor this worker)
- ** ----------
- *** --- * --- [Queues]
-- ******* ---- . celery: exchange:celery(direct) binding:celery
--- ***** -----
[Tasks]
. celery.backend_cleanup
. celery.chain …
Run Code Online (Sandbox Code Playgroud) 将 midwayjs 服务从 v2 升级到 v3,但现在我无法连接到 elasticsearch。以下是 package.json 依赖项:
"@elastic/elasticsearch": "7.12.0",
"egg": "^3.3.3",
"egg-elasticsearch-ts": "^1.1.1"
Run Code Online (Sandbox Code Playgroud)
出现以下错误:
获取 fs 状态错误 ProductNotSupportedError:客户端注意到服务器不是 Elasticsearch,我们不支持此未知产品。在 Transport.request 处
元:{ body:null,statusCode:null,headers:null,meta:{ context:null,请求:[Object],名称:'elasticsearch-js',连接:null,尝试:0,中止:false } } }