blob: a5dc4552960165f846f1e0704191b44ce2204bcb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
```python
# Пример куска программы:
from django.conf import settings
def webhook(request):
''' Обработчик вебхука от платежной системы '''
api_token = settigs.MY_API_KEY # ключ берем из файла settings.py
add_mailchimp_email_with_tag(email=request.POST.get('email',
audience_name='DONATES',
tag='DONATE')
```
==`vim config/settings.py`==
```sh
#..........
MY_API_KEY = os.getenv('MY_API_KEY')
#..........
```
### Уровни переменных окружения:
##### - OS (операционная система)
```sh
sudo vim /etc/environment
#--------------
THIRD_VAR="123"
# будет видна после перезагрузки
```
##### - USER (пользователь)
```sh
vim ~/.bashrc
#--------------
export USER_VAR=123
# exit
echo $USER_VAR
```
##### - SESSION (сессия)
```sh
export SESSION_VAR=777
echo $SESSION_VAR
# после выхода из сессии переменная пропадает
```
##### - APPLICATION (приложение)
```sh
vim setenv.sh
#--------------
#!bash/bin/env python3
export VAR1=123
export VAR1=12345
export VAR1=123567hbkjbjk
#--------------
# запустим скрипт:
. ./setenv.sh
# или
source ./setenv.sh
# Также можно сразу запускать приложение с установкой переменных,
> PYTHON_ENV=123 VAR=435 VAR2=jfhfg3 python testenv.py
```
```python
# Использование модуля < python-dotenv >
pip install python-dotenv
nvim .env
API_KEY='my_secret_key'
# Сразу добавляем этот файл в .gitignore !!!
# Программа:
from dotenv import load_dotenv
load_dotenv()
key = os.getenv('API_KEY')
print(key)
####################
# Скрытие пароля при вводе:
from getpass import getpass
import pyAesCrypt
password = getpass(promt='Пароль для расшифровки')
pyAesCrypt.decryptFile(
"secret_data.aes",
"secret_data.txt",
password
)
```
|