我正在尝试使用scrapy创建一个iron.io工作者。
根据iron.io,我们需要将代码的所有依赖项放在worker本身中。
我创建了一个名为module
的文件夹,它将包含所有第三方模块并通过pip安装scrapy。
pip install scrapy -t module/
尝试通过python module/scrapy/__init__.py
运行scrapy时,我正在
Traceback (most recent call last):
File "module/scrapy/__init__.py", line 10, in <module>
__version__ = pkgutil.get_data(__package__, 'VERSION').decode('ascii').strip()
File "/usr/lib/python2.7/pkgutil.py", line 578, in get_data
loader = get_loader(package)
File "/usr/lib/python2.7/pkgutil.py", line 464, in get_loader
return find_loader(fullname)
File "/usr/lib/python2.7/pkgutil.py", line 474, in find_loader
for importer in iter_importers(fullname):
File "/usr/lib/python2.7/pkgutil.py", line 424, in iter_importers
if fullname.startswith('.'):
AttributeError: 'NoneType' object has no attribute 'startswith'
答案 0 :(得分:1)
如果您没有Scrapy
可执行文件,则可以通过Scrapy
运行cmdline
:
python module/scrapy/cmdline.py
您还可以从脚本运行Scrapy
。 Here is a very detailed answer
答案 1 :(得分:0)
您可能最好从IronWorker代码中使用Scrapy,而不是从命令行调用它,就像它在http://scrapy.org/的首页或教程中一样:http://doc.scrapy.org/en/0.24/intro/tutorial.html < / p>
要在IronWorker中使用此功能,在完成pip安装后,请务必添加:
pip 'scrapy'
到您的.worker文件。然后在您的工作脚本中,您将导入它:
import scrapy
然后像上面的教程链接中所说的那样使用它。