Невозможно удалить переменную env из .bash_profile - PullRequest
0 голосов
/ 16 января 2019

У меня есть несколько проблем, связанных с использованием .bash_profile и Pycharm. Я использую Mac OS X. Я создал новый проект на pycharm с новой средой, используя virtualenv с базовым интерпретатором /usr/local/bin/python3.5.

ШАГ 1: Затем я получил доступ к .bash_profile из моего терминала Mac OS и экспортировал 2 переменные: DB_USER и DB_PASS как my_db_user и my_db_pass соответственно.

ШАГ 2: Используя Pycharm, я импортировал os и затем распечатал 2 переменные, используя os.environ.get(). Запуск файла .py с использованием pycharm (F10) возвращает my_db_user и my_db_pass.

Поскольку я решил создать 2 новые переменные test user и test pass в виртуальной среде, я продолжил активировать свой venv (venv/bin/activate) в оболочке pycharm. Затем я удалил изменения, которые я сделал в ШАГЕ 1.

Однако при запуске .py с использованием pycharm (F10) STILL возвращает my_db_user и my_db_pass вместо test user и test pass (я уже удалил my_db_user и my_db_pass, поэтому я понятия не имею, где это исходит от!). Кроме того, когда я запускаю файл python в оболочке, используя python test.py, он возвращает (Нет, Нет) вместо моих желаемых test user и test pass.

Мне нужна помощь, чтобы разобраться, чтобы os.environ.get() вернул желаемый результат. Одна из возможных причин заключается в том, что я могу быть смущен тем, как pycharm, shell в pycharm и терминалы взаимодействуют. Пожалуйста, помогите спасибо!

import os

user = os.environ.get('DB_USER')
password = os.environ.get('DB_PASS')

print(user,password)

1 Ответ

0 голосов
/ 16 января 2019

Если я правильно прочитал ваш пост, вы уже очистили файл .bash_profile, поэтому осталось только запустить

unset DB_USER DB_PASS

в каждом окне оболочки, в котором все еще есть переменные окружения.

...