使用Metaweblog上传MD文件到博客园遇到的几个问题
can't open file 'upload.py': [Errno 2] No such file or directory
分析:upload.py文件在pycnblog源代码文件夹下,而cmd命令的执行路径是C:\WINDOWS\System32,所以提示找不到文件。
解决方法:
1、首先,以管理员身份打开cmd窗口。
2、然后,找到pycnblog源代码所在的路径,并在该路径下重新执行命令。
AttributeError: module 'asyncio' has no attribute 'run'
分析:这是由于Python中asyncio版本不兼容导致的。
解决方法:(任选一种方法即可)
- 法一:将Python版本升级至3.7及以上。
- 法二:打开upload.py文件,将报错的run函数注释或者删除,并在下方添加以下语句。
`loop = asyncio.get_event_loop()
result = loop.run_until_complete()`
AttributeError: module 'asyncio' has no attribute 'create_task'
分析:这同样是由于Python中asyncio版本不兼容导致的。
解决方法:(任选一种方法即可)
- 将Python版本升级至3.7及以上。
- 打开upload.py文件,将报错的create_task函数改成ensure_future函数。
xmlrpc.client.Fault: <Fault 401: '请配置正确的用户名与访问令牌(access token), 密码登录已取消,请在密码框中输入请访问令牌......'>
分析:博客园取消了密码登录,改成了token登录。
解决方法:根据提示,打开源码文件夹中的config.yaml配置文件,把里面的password字段中原来写的密码值改成博客园的token就行。token在博客园设置页面最底部其他设置那栏里面,如果之前没有生成过token,新生成一个即可。
1、在首页点击管理;
2、点击设置;
3、鼠标拖到页面最下方,找到其他设置,将它点开,MetaWeblog访问令牌就是要找的token。
4、将config.yaml中的password字段值改成该token值。