新浪SAE上配置WeRoBot微信机器人,python,Mac环境

废话不多说,直接上过程。


注册新浪sae,选择创建云应用,创建新应用,填好相关数据,运行环境选择python2.7

然后根据WeRoBot的文档,本地安装WeRoBot(原始文档),引用如下:

git clone git://github.com/whtsky/WeRoBot-SAE-demo.git
cd WeRoBot-SAE-demo
virtualenv --no-site-packages .
source bin/activate
pip install sae-python-dev
saecloud install werobot

上述代码没什么问题,但是我却出了一点点差错,出现utf8无法对XX解码的问题,网上找了挺长时间没找到答案,只好自己思考问题出在哪。最后把问题定格在python版本问题上。因为我默认用的是3.5的版本,而WeRoBot明显使用的是2.7的环境,众所周知,3.5和2.7在很多地方是不兼容的。于是删掉原环境重新配置,指定虚拟环境的python为2.7,一切都搞定了。

git clone git://github.com/whtsky/WeRoBot-SAE-demo.git
cd WeRoBot-SAE-demo
virtualenv -p python2.7 --no-site-packages .
source bin/activate
pip install sae-python-dev
saecloud install werobot

至此,本地环境顺利安装,接下来是 编辑 config.yaml 文件,更改 name

免得后面重新修改,建议在这里一并修改robot.py里面的token,这个token是什么呢?是微信公众号里面,开发栏目下,基本配置里面的一个你自己设置的字符串。修改完毕以后,还没完。


是的,路还很长。


根据sae的文档,需要把文档上传到指定的代码库才行。

在代码管理栏目下,根据Git代码部署说明操作,(以下引自sae文档)

Git代码部署说明

在你应用的git代码目录里,添加一个新的git远程仓库 sae
$ git remote add sae https://git.sinacloud.com/yourapp

编辑代码并将代码部署到 `sae` 的版本1。
$ git add .
$ git commit -am "make it better"
$ git push sae master:1

如无意外,代码上传成功, 会在代码管理右方看到已经占用了一定的代码空间。

然后,是的,还有然后。

你需要把sae的代码管理栏目下,因为你把代码上传以后出现的那个表格里面的链接复制到公众号服务器配置(就是token上面一行)的URL里。

至此,一切都还挺顺利,似乎就要大功告成,然并卵,还会出错的。

接下来还有一个坑要填。

你还需要进一步对robot.py做出下述更改:

from werobot.session.saekvstorage import SaeKVDBStorage
session_storage = SaeKVDBStorage()
robot = werobot.WeRoBot(token="your_token", enable_session=True,
                        session_storage=session_storage)
(上述引自一 大神博客
至此,你可以进行下一步了。互联网坑多,祝你好运更多

更新自2016.7.7

重新看一下才发现忘记了一个大坑和一个小坑,在这里填一下

首先,按照上述弄完以后,访问sae给出的网址应该会报错,大概是werobot模块无法找到酱紫,原因是sae并没有默认安装werobot,本地上传以后也没有用,必须根据sae文档的要求,新建一个vendor目录,在该目录下安装werobot,然后再打包上传,这样才能正常访问。

大坑填完了,然后是小坑,这时候如果你尝试在用户关注你的公众号的时候发送中文欢迎语句,你会发现微信用户发送任何消息,都会得到微信的提示,说该公众号暂停服务之类的(具体不太记得),为什么呢?因为中文编码问题,解决的办法很简单,在robot.py首行插入一行  #*-*-coding:utf-8 -*-  就行。

好了,我也是边开发边填坑的,今天的坑就填到这里,大家填坑愉快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值