Skip to content

Commit a294710

Browse files
committed
Add dutch translation for docs/nl/docs/environment-variables.md
1 parent 2ada161 commit a294710

File tree

1 file changed

+298
-0
lines changed

1 file changed

+298
-0
lines changed
Lines changed: 298 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,298 @@
1+
# Omgevingsvariabelen
2+
3+
/// tip
4+
5+
Als je al weet wat "omgevingsvariabelen" zijn en hoe je ze kunt gebruiken, kun je deze stap gerust overslaan.
6+
7+
///
8+
9+
Een omgevingsvariabele (ook bekend als "**env var**") is een variabele die **buiten** de Python-code leeft, in het **besturingssysteem** en die door je Python-code (of door andere programma's) kan worden gelezen.
10+
11+
Omgevingsvariabelen kunnen nuttig zijn voor het verwerken van applicatie **instellingen**, als onderdeel van de **installatie** van Python, enz.
12+
13+
## Maak en gebruik omgevingsvariabelen
14+
15+
Je kunt omgevingsvariabelen **maken** en gebruiken in de **shell (terminal)**, zonder dat je Python nodig hebt:
16+
17+
//// tab | Linux, macOS, Windows Bash
18+
19+
<div class="termy">
20+
21+
```console
22+
// Je zou een omgevingsvariabele MY_NAME kunnen maken met
23+
$ export MY_NAME="Wade Wilson"
24+
25+
// Dan zou je deze met andere programma's kunnen gebruiken, zoals
26+
$ echo "Hello $MY_NAME"
27+
28+
Hello Wade Wilson
29+
```
30+
31+
</div>
32+
33+
////
34+
35+
//// tab | Windows PowerShell
36+
37+
<div class="termy">
38+
39+
```console
40+
// Maak een omgevingsvariabel MY_NAME
41+
$ $Env:MY_NAME = "Wade Wilson"
42+
43+
// Gebruik het met andere programma's, zoals
44+
$ echo "Hello $Env:MY_NAME"
45+
46+
Hello Wade Wilson
47+
```
48+
49+
</div>
50+
51+
////
52+
53+
## Lees omgevingsvariabelen in Python
54+
55+
Je kunt ook omgevingsvariabelen **buiten** Python aanmaken, in de terminal (of met een andere methode) en ze vervolgens **in Python uitlezen**.
56+
57+
Je kunt bijvoorbeeld een bestand `main.py` hebben met:
58+
59+
```Python hl_lines="3"
60+
import os
61+
62+
name = os.getenv("MY_NAME", "World")
63+
print(f"Hello {name} from Python")
64+
```
65+
66+
/// tip
67+
68+
Het tweede argument van <a href="https://docs.python.org/3.8/library/os.html#os.getenv" class="external-link" target="_blank">`os.getenv()`</a> is de standaardwaarde die wordt geretourneerd.
69+
70+
Als je dit niet meegeeft, is de standaardwaarde `None`. In dit geval gebruiken we standaard `"World"`.
71+
72+
///
73+
74+
Dan zou je dat Python-programma kunnen aanroepen:
75+
76+
//// tab | Linux, macOS, Windows Bash
77+
78+
<div class="termy">
79+
80+
```console
81+
// Hier stellen we de omgevingsvariabelen nog niet in
82+
$ python main.py
83+
84+
// Omdat we de omgevingsvariabelen niet hebben ingesteld, krijgen we de standaardwaarde
85+
86+
Hello World from Python
87+
88+
// Maar als we eerst een omgevingsvariabele aanmaken
89+
$ export MY_NAME="Wade Wilson"
90+
91+
// en het programma dan opnieuw aanroepen
92+
$ python main.py
93+
94+
// kan het de omgevingsvariabele nu wel uitlezen
95+
96+
Hello Wade Wilson from Python
97+
```
98+
99+
</div>
100+
101+
////
102+
103+
//// tab | Windows PowerShell
104+
105+
<div class="termy">
106+
107+
```console
108+
// Hier stellen we de omgevingsvariabelen nog niet in
109+
$ python main.py
110+
111+
// Omdat we de omgevingsvariabelen niet hebben ingesteld, krijgen we de standaardwaarde
112+
113+
Hello World from Python
114+
115+
// Maar als we eerst een omgevingsvariabele aanmaken
116+
$ $Env:MY_NAME = "Wade Wilson"
117+
118+
// en het programma dan opnieuw aanroepen
119+
$ python main.py
120+
121+
// kan het de omgevingsvariabele nu wel uitlezen
122+
123+
Hello Wade Wilson from Python
124+
```
125+
126+
</div>
127+
128+
////
129+
130+
Omdat omgevingsvariabelen buiten de code kunnen worden ingesteld, maar wel door de code kunnen worden gelezen en niet hoeven te worden opgeslagen (gecommit naar `git`) met de rest van de bestanden, worden ze vaak gebruikt voor configuraties of **instellingen**.
131+
132+
Je kunt ook een omgevingsvariabele maken die alleen voor een **specifieke programmaaanroep** beschikbaar is, die alleen voor dat programma beschikbaar is en alleen voor de duur van dat programma.
133+
134+
Om dat te doen, maak je het vlak voor het programma zelf aan, op dezelfde regel:
135+
136+
<div class="termy">
137+
138+
```console
139+
// Maak een omgevingsvariabele MY_NAME in de regel voor deze programma-aanroep
140+
$ MY_NAME="Wade Wilson" python main.py
141+
142+
// Nu kan het de omgevingsvariabele lezen
143+
144+
Hello Wade Wilson from Python
145+
146+
// De omgevingsvariabelen bestaan daarna niet meer
147+
$ python main.py
148+
149+
Hello World from Python
150+
```
151+
152+
</div>
153+
154+
/// tip
155+
156+
Je kunt er meer over lezen op <a href="https://12factor.net/config" class="external-link" target="_blank">The Twelve-Factor App: Config</a>.
157+
158+
///
159+
160+
## Types en Validatie
161+
162+
Deze omgevingsvariabelen kunnen alleen **tekstreeksen** verwerken, omdat ze extern zijn aan Python, compatibel moeten zijn met andere programma's en de rest van het systeem (zelfs met verschillende besturingssystemen, zoals Linux, Windows en macOS).
163+
164+
Dat betekent dat **elke waarde** die in Python uit een omgevingsvariabele wordt gelezen **een `str` zal zijn** en dat elke conversie naar een ander type of elke validatie in de code moet worden uitgevoerd.
165+
166+
Meer informatie over het gebruik van omgevingsvariabelen voor het verwerken van **applicatie instellingen** vind je in de [Geavanceerde gebruikershandleiding - Instellingen en Omgevingsvariabelen](./advanced/settings.md){.internal-link target=_blank}.
167+
168+
## `PATH` Omgevingsvariabele
169+
170+
Er is een **speciale** omgevingsvariabele met de naam **`PATH`**, die door de besturingssystemen (Linux, macOS, Windows) wordt gebruikt om programma's te vinden die uitgevoerd kunnen worden.
171+
172+
De waarde van de variabele `PATH` is een lange tekstreeks die bestaat uit mappen die gescheiden worden door een dubbele punt `:` op Linux en macOS en door een puntkomma `;` op Windows.
173+
174+
De omgevingsvariabele `PATH` zou er bijvoorbeeld zo uit kunnen zien:
175+
176+
//// tab | Linux, macOS
177+
178+
```plaintext
179+
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
180+
```
181+
182+
Dit betekent dat het systeem naar programma's zoekt in de mappen:
183+
184+
* `/usr/local/bin`
185+
* `/usr/bin`
186+
* `/bin`
187+
* `/usr/sbin`
188+
* `/sbin`
189+
190+
////
191+
192+
//// tab | Windows
193+
194+
```plaintext
195+
C:\Program Files\Python312\Scripts;C:\Program Files\Python312;C:\Windows\System32
196+
```
197+
198+
Dit betekent dat het systeem naar programma's zoekt in de mappen:
199+
200+
* `C:\Program Files\Python312\Scripts`
201+
* `C:\Program Files\Python312`
202+
* `C:\Windows\System32`
203+
204+
////
205+
206+
Wanneer je een **opdracht** in de terminal typt, **zoekt** het besturingssysteem naar het programma in **elk van de mappen** die vermeld staan in de omgevingsvariabele `PATH`.
207+
208+
Wanneer je bijvoorbeeld `python` in de terminal typt, zoekt het besturingssysteem naar een programma met de naam `python` in de **eerste map** in die lijst.
209+
210+
Als het het vindt, zal het het **gebruiken**. Anders blijft het in de **andere mappen** zoeken.
211+
212+
### Python installeren en `PATH` bijwerken
213+
214+
Wanneer je Python installeert, word je mogelijk gevraagd of je de omgevingsvariabele `PATH` wilt bijwerken.
215+
216+
//// tab | Linux, macOS
217+
218+
Stel dat je Python installeert en het komt terecht in de map `/opt/custompython/bin`.
219+
220+
Als je kiest om de `PATH` omgevingsvariabele bij te werken, zal het installatieprogramma `/opt/custompython/bin` toevoegen aan de `PATH` omgevingsvariabele.
221+
222+
Dit zou er zo uit kunnen zien:
223+
224+
```plaintext
225+
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/custompython/bin
226+
```
227+
228+
Op deze manier zal het systeem, wanneer je `python` in de terminal typt, het Python-programma in `/opt/custompython/bin` (de laatste map) vinden en dat gebruiken.
229+
230+
////
231+
232+
//// tab | Windows
233+
234+
Stel dat je Python installeert en het komt terecht in de map `C:\opt\custompython\bin`.
235+
236+
Als je kiest om de `PATH` omgevingsvariabele bij te werken, zal het installatieprogramma `C:\opt\custompython\bin` toevoegen aan de `PATH` omgevingsvariabele.
237+
238+
```plaintext
239+
C:\Program Files\Python312\Scripts;C:\Program Files\Python312;C:\Windows\System32;C:\opt\custompython\bin
240+
```
241+
242+
Op deze manier zal het systeem, wanneer je `python` in de terminal typt, het Python-programma in `C:\opt\custompython\bin` (de laatste map) vinden en dat gebruiken.
243+
244+
////
245+
246+
Dus als je typt:
247+
248+
<div class="termy">
249+
250+
```console
251+
$ python
252+
```
253+
254+
</div>
255+
256+
//// tab | Linux, macOS
257+
258+
Zal het systeem het `python`-programma in `/opt/custompython/bin` **vinden** en uitvoeren.
259+
260+
Het zou ongeveer hetzelfde zijn als het typen van:
261+
262+
<div class="termy">
263+
264+
```console
265+
$ /opt/custompython/bin/python
266+
```
267+
268+
</div>
269+
270+
////
271+
272+
//// tab | Windows
273+
274+
Zal het systeem het `python`-programma in `C:\opt\custompython\bin\python` **vinden** en uitvoeren.
275+
276+
Het zou ongeveer hetzelfde zijn als het typen van:
277+
278+
<div class="termy">
279+
280+
```console
281+
$ C:\opt\custompython\bin\python
282+
```
283+
284+
</div>
285+
286+
////
287+
288+
Deze informatie is handig wanneer je meer wilt weten over [virtuele omgevingen](virtual-environments.md){.internal-link target=_blank}.
289+
290+
## Conclusion
291+
292+
Hiermee heb je basiskennis van wat **omgevingsvariabelen** zijn en hoe je ze in Python kunt gebruiken.
293+
294+
Je kunt er ook meer over lezen op de <a href="https://en.wikipedia.org/wiki/Environment_variable" class="external-link" target="_blank">Wikipedia over omgevingsvariabelen</a>.
295+
296+
In veel gevallen is het niet direct duidelijk hoe omgevingsvariabelen nuttig en hoe je ze moet toepassen. Maar ze blijven in veel verschillende scenario's opduiken als je aan het ontwikkelen bent, dus het is goed om er meer over te weten.
297+
298+
Je hebt deze informatie bijvoorbeeld nodig in de volgende sectie, over [Virtuele Omgevingen](virtual-environments.md).

0 commit comments

Comments
 (0)