Ich habe Quokka Python/Flask CMS auf einen CentOS7-Server heruntergeladen. Alles funktioniert gut mit dem BefehlKlicken wird die weitere Ausführung abbrechen, da Python 3 so konfiguriert wurde, dass ASCII als Kodierung für die Umgebung verwendet wird.
sudo python3 manage.py runserver --host 0.0.0.0 --port 80
Dann habe ich eine Datei /etc/init.d/quokkacms erstellen. Die Datei enthält folgenden Code
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 $?
Aber ich Fehler, wenn sudo service quokkacms start
RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. Either switch to Python 2 or consult http://click.pocoo.org/python3/ for
mitigation steps.
laufe es mir scheint, dass es der Bash-Skript. Wieso bekomme ich unterschiedliche Ergebnisse? Auch ich habe die Anweisungen in dem Link in der Fehlermeldung befolgt, hatte aber immer noch kein Glück.
[update] Ich hatte bereits die von Click zur Verfügung gestellte Lösung ausprobiert, bevor ich diese Frage gepostet habe. Schauen Sie sich die Ergebnisse unter (i in root ausführen):
[[email protected] 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
>>>
Also haben Sie den Link durch die hilfreiche Fehlermeldung konsultiert? Die Antwort ist da. Ausdrücklich. –
Hinweis: Das Problem ist nicht das Initskript selbst, sondern die Umgebung, in der das Skript ausgeführt wird. –