我将 Quokka Python/Flask CMS 下载到了 CentOS7 服务器。使用命令一切正常
sudo python3 manage.py runserver --host 0.0.0.0 --port 80
然后我创建一个文件 /etc/init.d/quokkacms。该文件包含以下代码
start() {
echo -n "Starting quokkacms: "
python3 /var/www/quokka/manage.py runserver --host 0.0.0.0 --port 80
touch /var/lock/subsys/quokkacms
return 0
}
stop() {
echo -n "Shutting down quokkacms: "
rm -f /var/lock/subsys/quokkacms
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
;;
restart)
stop
start
;;
*)
echo "Usage: quokkacms {start|stop|status|restart}"
exit 1
;;
esac
exit $?
但是运行时出现错误sudo service quokkacms start
RuntimeError: Click 将中止进一步的执行,因为 Python 3 被配置为使用 ASCII 作为环境的编码。切换到 Python 2 或咨询http://click.pocoo.org/python3/以了解
缓解步骤。
在我看来,它是 bash 脚本。我怎么会得到不同的结果?我也按照错误消息中链接中的说明进行操作,但仍然没有运气。
[更新] 在发布此问题之前,我已经尝试过 Click 提供的解决方案。检查下面的结果(我在 root 中运行):
[root@webserver quokka]# python3
Python 3.4.3 (default, Jan 26 2016, 02:25:35)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> import codecs
>>> print(locale.getpreferredencoding())
UTF-8
>>> print(codecs.lookup(locale.getpreferredencoding()).name)
utf-8
>>> locale.getdefaultlocale()
('en_US', 'UTF-8')
>>> locale.CODESET
14
>>>