Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0afba13

Browse files
committed
🌐 Add Persian translation for docs/fa/docs/environment-variables.md
1 parented48cc4 commit0afba13

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+
#متغیرهای محیطی
2+
3+
/// tip
4+
5+
اگه از قبل می‌دونی متغیرهای محیطی چی هستن و چطور ازشون استفاده می‌شه، می‌تونی این بخش رو رد کنی.
6+
7+
///
8+
9+
یه متغیر محیطی (که بهش "**env var**" هم می‌گن) یه متغیریه که**خارج** از کد پایتون، توی**سیستم‌عامل** زندگی می‌کنه و می‌تونه توسط کد پایتونت (یا برنامه‌های دیگه) خونده بشه.
10+
11+
متغیرهای محیطی می‌تونن برای مدیریت**تنظیمات** برنامه، به‌عنوان بخشی از**نصب** پایتون و غیره مفید باشن.
12+
13+
##ساخت و استفاده از متغیرهای محیطی
14+
15+
می‌تونی متغیرهای محیطی رو توی**شل (ترمینال)****بسازی** و ازشون استفاده کنی، بدون اینکه به پایتون نیاز داشته باشی:
16+
17+
//// tab | لینوکس، مک‌اواس، ویندوز بش
18+
19+
<divclass="termy">
20+
21+
```console
22+
// می‌تونی یه متغیر محیطی به اسم MY_NAME بسازی با
23+
$export MY_NAME="Wade Wilson"
24+
25+
// بعد می‌تونی با برنامه‌های دیگه ازش استفاده کنی، مثل
26+
$echo"Hello$MY_NAME"
27+
28+
Hello Wade Wilson
29+
```
30+
31+
</div>
32+
33+
////
34+
35+
//// tab | ویندوز پاورشل
36+
37+
<divclass="termy">
38+
39+
```console
40+
// یه متغیر محیطی به اسم MY_NAME بساز
41+
$$Env:MY_NAME ="Wade Wilson"
42+
43+
// با برنامه‌های دیگه ازش استفاده کن، مثل
44+
$echo"Hello$Env:MY_NAME"
45+
46+
Hello Wade Wilson
47+
```
48+
49+
</div>
50+
51+
////
52+
53+
##خوندن متغیرهای محیطی توی پایتون
54+
55+
می‌تونی متغیرهای محیطی رو**خارج** از پایتون، توی ترمینال (یا با هر روش دیگه) بسازی، و بعد توی**پایتون** اونا رو بخونی.
56+
57+
مثلاً می‌تونی یه فایل`main.py` داشته باشی با:
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+
آرگومان دوم <ahref="https://docs.python.org/3.8/library/os.html#os.getenv"class="external-link"target="_blank">`os.getenv()`</a> مقدار پیش‌فرضیه که برمی‌گردونه.
69+
70+
اگه ندی، به‌صورت پیش‌فرض`None` هست، اینجا ما`"World"` رو به‌عنوان مقدار پیش‌فرض گذاشتیم.
71+
72+
///
73+
74+
بعد می‌تونی اون برنامه پایتون رو صدا کنی:
75+
76+
//// tab | لینوکس، مک‌اواس، ویندوز بش
77+
78+
<divclass="termy">
79+
80+
```console
81+
// اینجا هنوز متغیر محیطی رو تنظیم نکردیم
82+
$python main.py
83+
84+
// چون متغیر محیطی رو تنظیم نکردیم، مقدار پیش‌فرض رو می‌گیریم
85+
86+
Hello World from Python
87+
88+
// ولی اگه اول یه متغیر محیطی بسازیم
89+
$export MY_NAME="Wade Wilson"
90+
91+
// و بعد دوباره برنامه رو صدا کنیم
92+
$python main.py
93+
94+
// حالا می‌تونه متغیر محیطی رو بخونه
95+
96+
Hello Wade Wilson from Python
97+
```
98+
99+
</div>
100+
101+
////
102+
103+
//// tab | ویندوز پاورشل
104+
105+
<divclass="termy">
106+
107+
```console
108+
// اینجا هنوز متغیر محیطی رو تنظیم نکردیم
109+
$python main.py
110+
111+
// چون متغیر محیطی رو تنظیم نکردیم، مقدار پیش‌فرض رو می‌گیریم
112+
113+
Hello World from Python
114+
115+
// ولی اگه اول یه متغیر محیطی بسازیم
116+
$$Env:MY_NAME ="Wade Wilson"
117+
118+
// و بعد دوباره برنامه رو صدا کنیم
119+
$python main.py
120+
121+
// حالا می‌تونه متغیر محیطی رو بخونه
122+
123+
Hello Wade Wilson from Python
124+
```
125+
126+
</div>
127+
128+
////
129+
130+
چون متغیرهای محیطی می‌تونن خارج از کد تنظیم بشن، ولی کد می‌تونه اونا رو بخونه، و لازم نیست با بقیه فایل‌ها ذخیره (کمیتی به`git`) بشن، معمولاً برای پیکربندی یا**تنظیمات** استفاده می‌شن.
131+
132+
همچنین می‌تونی یه متغیر محیطی رو فقط برای**یه اجرای خاص برنامه** بسازی، که فقط برای اون برنامه و فقط برای مدت زمان اجراش در دسترسه.
133+
134+
برای این کار، درست قبل از خود برنامه، توی همون خط بسازش:
135+
136+
<divclass="termy">
137+
138+
```console
139+
// یه متغیر محیطی MY_NAME رو توی خط برای این اجرای برنامه بساز
140+
$MY_NAME="Wade Wilson" python main.py
141+
142+
// حالا می‌تونه متغیر محیطی رو بخونه
143+
144+
Hello Wade Wilson from Python
145+
146+
// متغیر محیطی بعدش دیگه وجود نداره
147+
$python main.py
148+
149+
Hello World from Python
150+
```
151+
152+
</div>
153+
154+
/// tip
155+
156+
می‌تونی بیشتر در موردش توی <ahref="https://12factor.net/config"class="external-link"target="_blank">برنامه دوازده‌فاکتوری: پیکربندی</a> بخونی.
157+
158+
///
159+
160+
##نوع‌ها و اعتبارسنجی
161+
162+
این متغیرهای محیطی فقط می‌تونن**رشته‌های متنی** رو نگه دارن، چون خارج از پایتون هستن و باید با برنامه‌های دیگه و بقیه سیستم (و حتی سیستم‌عامل‌های مختلف مثل لینوکس، ویندوز، مک‌اواس) سازگار باشن.
163+
164+
یعنی**هر مقداری** که توی پایتون از یه متغیر محیطی خونده می‌شه یه`str` هست، و هر تبدیل به نوع دیگه یا هر اعتبارسنجی باید توی کد انجام بشه.
165+
166+
توی[راهنمای کاربر پیشرفته - تنظیمات و متغیرهای محیطی](./advanced/settings.md){.internal-link target=_blank} بیشتر در مورد استفاده از متغیرهای محیطی برای مدیریت**تنظیمات برنامه** یاد می‌گیری.
167+
168+
##متغیر محیطی`PATH`
169+
170+
یه متغیر محیطی**خاص** به اسم**`PATH`** وجود داره که سیستم‌عامل‌ها (لینوکس، مک‌اواس، ویندوز) ازش برای پیدا کردن برنامه‌هایی که قراره اجرا بشن استفاده می‌کنن.
171+
172+
مقدار متغیر`PATH` یه رشته طولانی از پوشه‌هاست که توی لینوکس و مک‌اواس با دونقطه`:` و توی ویندوز با نقطه‌ویرگول`;` از هم جدا شدن.
173+
174+
مثلاً، متغیر محیطی`PATH` می‌تونه اینجوری باشه:
175+
176+
//// tab | لینوکس، مک‌اواس
177+
178+
```plaintext
179+
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
180+
```
181+
182+
یعنی سیستم باید دنبال برنامه‌ها توی این پوشه‌ها بگرده:
183+
184+
*`/usr/local/bin`
185+
*`/usr/bin`
186+
*`/bin`
187+
*`/usr/sbin`
188+
*`/sbin`
189+
190+
////
191+
192+
//// tab | ویندوز
193+
194+
```plaintext
195+
C:\Program Files\Python312\Scripts;C:\Program Files\Python312;C:\Windows\System32
196+
```
197+
198+
یعنی سیستم باید دنبال برنامه‌ها توی این پوشه‌ها بگرده:
199+
200+
*`C:\Program Files\Python312\Scripts`
201+
*`C:\Program Files\Python312`
202+
*`C:\Windows\System32`
203+
204+
////
205+
206+
وقتی یه**دستور** توی ترمینال تایپ می‌کنی، سیستم‌عامل**دنبال** برنامه توی**هر کدوم از این پوشه‌ها** که توی متغیر محیطی`PATH` لیست شدن می‌گرده.
207+
208+
مثلاً، وقتی توی ترمینال`python` تایپ می‌کنی، سیستم‌عامل دنبال یه برنامه به اسم`python` توی**اولین پوشه** توی اون لیست می‌گرده.
209+
210+
اگه پیداش کنه،**استفاده‌ش می‌کنه**. وگرنه توی**پوشه‌های بعدی** دنبالش می‌گرده.
211+
212+
###نصب پایتون و به‌روزرسانی`PATH`
213+
214+
وقتی پایتون رو نصب می‌کنی، ممکنه ازت بپرسن آیا می‌خوای متغیر محیطی`PATH` رو به‌روزرسانی کنی.
215+
216+
//// tab | لینوکس، مک‌اواس
217+
218+
فرض کن پایتون رو نصب کردی و توی یه پوشه`/opt/custompython/bin` قرار گرفته.
219+
220+
اگه بگی بله برای به‌روزرسانی متغیر محیطی`PATH`، نصاب`/opt/custompython/bin` رو به متغیر محیطی`PATH` اضافه می‌کنه.
221+
222+
ممکنه اینجوری بشه:
223+
224+
```plaintext
225+
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/custompython/bin
226+
```
227+
228+
این‌جوری، وقتی توی ترمینال`python` تایپ می‌کنی، سیستم برنامه پایتون رو توی`/opt/custompython/bin` (آخرین پوشه) پیدا می‌کنه و از اون استفاده می‌کنه.
229+
230+
////
231+
232+
//// tab | ویندوز
233+
234+
فرض کن پایتون رو نصب کردی و توی یه پوشه`C:\opt\custompython\bin` قرار گرفته.
235+
236+
اگه بگی بله برای به‌روزرسانی متغیر محیطی`PATH`، نصاب`C:\opt\custompython\bin` رو به متغیر محیطی`PATH` اضافه می‌کنه.
237+
238+
```plaintext
239+
C:\Program Files\Python312\Scripts;C:\Program Files\Python312;C:\Windows\System32;C:\opt\custompython\bin
240+
```
241+
242+
این‌جوری، وقتی توی ترمینال`python` تایپ می‌کنی، سیستم برنامه پایتون رو توی`C:\opt\custompython\bin` (آخرین پوشه) پیدا می‌کنه و از اون استفاده می‌کنه.
243+
244+
////
245+
246+
پس، اگه تایپ کنی:
247+
248+
<divclass="termy">
249+
250+
```console
251+
$python
252+
```
253+
254+
</div>
255+
256+
//// tab | لینوکس، مک‌اواس
257+
258+
سیستم برنامه`python` رو توی`/opt/custompython/bin`**پیدا** می‌کنه و اجراش می‌کنه.
259+
260+
تقریباً معادل اینه که تایپ کنی:
261+
262+
<divclass="termy">
263+
264+
```console
265+
$/opt/custompython/bin/python
266+
```
267+
268+
</div>
269+
270+
////
271+
272+
//// tab | ویندوز
273+
274+
سیستم برنامه`python` رو توی`C:\opt\custompython\bin\python`**پیدا** می‌کنه و اجراش می‌کنه.
275+
276+
تقریباً معادل اینه که تایپ کنی:
277+
278+
<divclass="termy">
279+
280+
```console
281+
$C:\opt\custompython\bin\python
282+
```
283+
284+
</div>
285+
286+
////
287+
288+
این اطلاعات وقتی در مورد[محیط‌های مجازی](virtual-environments.md){.internal-link target=_blank} یاد می‌گیری به‌دردت می‌خوره.
289+
290+
##نتیجه‌گیری
291+
292+
با این باید یه درک پایه‌ای از**متغیرهای محیطی** و نحوه استفاده‌شون توی پایتون داشته باشی.
293+
294+
می‌تونی بیشتر در موردشون توی <ahref="https://en.wikipedia.org/wiki/Environment_variable"class="external-link"target="_blank">ویکی‌پدیا برای متغیر محیطی</a> بخونی.
295+
296+
توی خیلی موارد مشخص نیست که متغیرهای محیطی چطور می‌تونن فوری مفید و کاربردی باشن. ولی توی موقعیت‌های مختلف توسعه مدام پیداشون می‌شه، پس خوبه که در موردشون بدونی.
297+
298+
مثلاً، توی بخش بعدی در مورد[محیط‌های مجازی](virtual-environments.md) به این اطلاعات نیاز داری.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2026 Movatter.jp