python - rq总是No module named XX
高洛峰
高洛峰 2017-04-17 11:11:32
[Python讨论组]

使用python rq作为队列,但是参考他们的docs没有运行成功

文件的组织目录:

+ index.py
+ test_work
| __init__.py
| a.py

index.py 代码如下:

#coding: utf-8
import test_work
from test_work import a
from redis import Redis
from rq import Queue


if __name__=='__main__':
	q = Queue(connection = Redis())
	x=0
	while x<10:
		x+=1
		z=2000200+x
		print x
		q.enqueue(a.count_words_at_url,'http://book.douban.com/subject/%d/'%z)

a.py 代码如下:

#coding: utf-8
import requests

def count_words_at_url(url):
	resp = requests.get(url)
	return len(resp.text.split())

在运行以后总是失败,在rq-dashboard中查看到的错误消息:

 test_work.a.count_words_at_url('http://book.douban.com/subject/2000201/') from default
d8d8c5ad-3ff9-4212-8e98-339fc5cfcc31
Failed 11 minutes ago
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/rq-0.3.5-py2.7.egg/rq/worker.py", line 392, in perform_job
    rv = job.perform()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/rq-0.3.5-py2.7.egg/rq/job.py", line 340, in perform
    self._result = self.func(*self.args, **self.kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/rq-0.3.5-py2.7.egg/rq/job.py", line 133, in func
    module = importlib.import_module(module_name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named test_work.a

额……python基础没有打牢,求解~

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
迷茫

你已经 from test_work import a 了,那就直接用 a.count_words_at_url(...) 即可。

至于 ImportError: No module named test_work.a 的错误,那是因为你的 test_work/__init__.py 里面没有 import a 。所以即便你 import test_work 也不能直接 test_work.a.foo 这么用。

高洛峰

楼上纯粹胡扯。答案很简单也很坑爹:
必须要在你那个【Py文件的目录下的终端】输入rq worker!
不然就找不到

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号