报错信息以下:python
Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment
在pycharm里面把以下参数调整一下便可启动服务。django
https://www.jianshu.com/p/1d9c78efa39aflask
flask蓝图中,没有URL这个文件,咱们要功能解耦把URL单独拆分出来,可是flask内置是没有这个URL文件的,咱们本身建立的这个URL文件,是没法在flask项目内部加载的,就须要自行在代码级别中加载上,项目的启动文件里面能够把URL注册上,就是把蓝图的在启动文件的注册代码一行拆成两部分。以下所示:api
如若蓝图的注册代码不拆分就是这样:app
from .views import urls
app.register_blueprint(urls.api, url_prefix='/api/v1)
这里就是拆分后的代码:python2.7
# 这里是URL文件代码
from .views import urls root_urls = [ (urls.api, '/api/v1'),
(urls.fore_end, '/fore_end/v1'),
(urls.back_end, '/back_end/v1'),
(urls.buy, '/buy/v1')
]
# 这里是启动文件代码
from .urls import root_urls
for tup in root_urls: blueprint_obj = tup[0] url_prefix_obj = tup[1] app.register_blueprint(blueprint_obj, url_prefix=url_prefix_obj)
django项目内部会自动加载URL文件,可是flask内部没有这些自动加载的功能,就须要咱们本身去加载URL文件。这个解决问题的思路很重要。我一开始没有拆分这一行的注册蓝图代码,而是在URL文件中从启动文件引入实例化的app对象,而后在启动文件中引入URL文件的内容,这样启动文件启动就能够把URL文件加载上,可是这里就出现了一个逻辑问题,启动文件和URL文件互相引用,这里就会报错,引入模块失败,这个坑是本身都没有绕过来,请教前辈才明白,因而出现了上面的一行代码拆分红两部分的解决方案。scrapy
mac使用crontab报错:url
在/etc/目录下建立crontab文件便可,须要使用sudo touch建立。spa
Mac执行scrapy报错:code
command not fount:scrapy
把软连接创建到指定路径便可:
ln -s /Library/Frameworks/Python.framework/Versions/3.6/bin/scrapy /usr/local/scrapy
我这里的scrapy是用python3的pip安装的,因此在python3.6的bin目录下,你要找到你的scrapy都装在哪里了,而后把它连接到后面这个/usr/local下便可。
再提供一个python2.7的路径线索,我本身的是/Users/dream-mac/Library/Python/2.7/bin,scrapy支持python2.7及以上版本的pip安装。