Einstellen des Python-Gebietsschemas funktioniert nicht

So habe ich versucht, das Python-Gebietsschema festzulegen. Ich möchte, weil ich den Wochentagsnamen in der Landessprache verwenden möchte (mitstrftime('%A')). Momentan wird der Wochentag jedoch in Englisch gedruckt, obwohl ich versucht habe, das Gebietsschema auf verschiedene Arten festzulegen. Ich laufe dies auf einem RPi2 mit Ubuntu Mate.

Ich habe die Lösungen in diesem Thema ausprobiertWas ist der richtige Weg, um das Gebietsschema von Python unter Windows festzulegen?

Ich habe versucht, das Gebietsschema explizit auf @ zu setzenl_NL.utf8:

$> locale -a
$> python3
>>> import locale
>>> locale.setlocale(locale.LC_ALL,'nl_NL.utf-8')
gt; locale -a
$> locale -a
$> python3
>>> import locale
>>> locale.setlocale(locale.LC_ALL,'nl_NL.utf-8')
gt; python3 >>> import locale >>> locale.setlocale(locale.LC_ALL,'nl_NL.utf-8')

Ich habe auch versucht, einen leeren String zu setzen, wie in der letzten Antwort vorgeschlagen:

>>> locale.setlocale(locale.LC_ALL, '')

n beiden Fällen, wenn ich versuche,

>>> locale.getlocale()

Ahanl_NL.utf8

Aber ich bekomme noch den wochentag auf englisch! Ich konnte bis auf das obige Thema nicht viel darüber im Internet finden und konnte es nicht reparieren.

Bearbeiten

Ich habe alle 3 Optionen ausprobiert. Der erste gibt ein seltsames Ergebnis zurück:

~/Documenten$ python3
Python 3.4.3+ (default, Oct 14 2015, 16:03:50) 
[GCC 5.2.1 20151010] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.getlocale(locale.LC_TIME)
(None, None)
>>> locale.setlocale(locale.LC_TIME, 'nl_NL.utf-8')
'nl_NL.utf-8'
>>> locale.getlocale(locale.LC_TIME)
('nl_NL', 'UTF-8')
>>> exit()
jeffrey@jeffrey-desktop:~/Documenten$ python3
Python 3.4.3+ (default, Oct 14 2015, 16:03:50) 
[GCC 5.2.1 20151010] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.getlocale(locale.LC_TIME)
(None, None)

Es scheint, als wäre nichts gespeichert. Bin ich falsch, wenn ich annehme, dass Sie Ihr Gebietsschema einmal festgelegt haben und das System sich dann daran erinnert? Die zweite Option:

~/Documenten$ python3
Python 3.4.3+ (default, Oct 14 2015, 16:03:50) 
[GCC 5.2.1 20151010] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import calendar
>>> calendar.day_name[2]
'Wednesday'
>>> import locale
>>> locale.nl_langinfo(locale.DAY_2)
'Monday'

Obwohl ich versuche, einen niederländischen Wochentagsnamen zu bekommen, bekomme ich trotzdem einen englischen Namen zurück. Außerdem beginnt diese Methode ab Sonntag und nicht ab Montag zu zählen. Mache ich etwas falsch? Der dritte Vorschlag brachte mir meinen Wochentagsnamen, danke! Aber ich frage mich immer noch, warum das erste nicht funktioniert? Ich verwende dieses Skript auf meinem eigenen Gerät und möchte mit einem korrekten globalen Gebietsschema arbeiten.

Edit2:

yes: Der Aufruf von locale.setlocale () in Python hat keine Auswirkungen auf zukünftige Python-Prozesse. Konfigurieren Sie stattdessen Umgebungsvariablen, siehe So legen Sie alle Ländereinstellungen in Ubuntu fest.

In Ordnung! Deshalb hat es nicht funktioniert. Ich nahm an, dass ich das Gebietsschema für eine zukünftige Verwendung in Python festgelegt hatte, wie eine Umgebungsvariable, aber dann nur für Python.

Ich habe ein Bash-Skript, das Dateien erstellt, und dieses Python-Skript sollte es nach einiger Zeit löschen (ich habe gelernt, Code zu schreiben, kannte Python nicht, als ich das Bash-Skript schrieb). Bashs "Datum" -Methode scheint das Gebietsschema auf die eine oder andere Weise aufzunehmen. Ich werde weitermachen und sehen, was ich für Python reparieren kann. Das sehe ich, wenn ich @ tip$ locale:

LANG=nl_NL.UTF-8
LANGUAGE=nl:en
LC_CTYPE="nl_NL.UTF-8"
LC_NUMERIC="nl_NL.UTF-8"
LC_TIME="nl_NL.UTF-8"
LC_COLLATE="nl_NL.UTF-8"
LC_MONETARY="nl_NL.UTF-8"
LC_MESSAGES="nl_NL.UTF-8"
LC_PAPER="nl_NL.UTF-8"
LC_NAME="nl_NL.UTF-8"
LC_ADDRESS="nl_NL.UTF-8"
LC_TELEPHONE="nl_NL.UTF-8"
LC_MEASUREMENT="nl_NL.UTF-8"
LC_IDENTIFICATION="nl_NL.UTF-8"
LC_ALL=

Antworten auf die Frage(2)

Ihre Antwort auf die Frage