请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

本地部署 ModuleNotFoundError: No module named 'weibo.utils'

写一个微博的爬虫,使用scrapyd 进行本地部署,在用scrapyd-deploy上传部署项目时,返回错误状态:No module named ‘weibo.utils’(下图三)

出错位置:第14行
图片描述
目录结构:
图片描述
报错 json:
图片描述

localhost:6800: 没上传成功
图片描述

之后,在settings里面试过添加几种路径,但问题都解决不了。
图片描述

另外,在pycharm运行时没有问题的。
要如何才能成功上传呢?(希望在不改变导入语句和目录结构的情况下,通过添加路径解决问题)

正在回答

1回答

你这个报错应该算是运行不成功 不是上传不成功,https://img1.sycdn.imooc.com/szimg/5de7178a0971a3e810370206.jpg 你通过第二行代码把BASE_DIR本身insert到路径中试试 不要insert下面的weibo这个路径

0 回复 有任何疑惑可以回复我~
  • 提问者 慕慕6496279 #1
    我发现问题了。
    其实在settings文件里面添加路径,是解决IDE把一个文件夹设置为搜索路径,在IDE调试代码的时候,导入路径变了。但部署的时候不会管IDE设置的搜索路径,所以需要在settings文件里面添加路径。
    
    而我是在 (scrapyd-deploy 部署名称 -p 项目名称 )打包上传的环节出现问题的。问题是上传的文件不完整。解决办法是在无法上传的文件夹下新建一个 __init__.py 文件,让这个文件夹变成python package。因为scrapyd只会打包python package,其他文件夹是不会打包上传的。
    
    补充:在执行完( scrapyd-deploy 部署名称 -p 项目名称 )后,会生成build/ ,project.egg-info/ 以及 setup.py 三个目录和文件。在build/lib/ 目录下就可以看到上传的代码和文件。
    回复 有任何疑惑可以回复我~ 2019-12-04 23:52:14
  • 提问者 慕慕6496279 #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-12-04 23:54:30
  • bobby 回复 提问者 慕慕6496279 #3
    赞,描述的很详细了
    回复 有任何疑惑可以回复我~ 2019-12-06 11:44:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信