Временно остановить R из истории записи - PullRequest
3 голосов
/ 19 апреля 2019

Я считаю, что в целом очень полезно сохранять историю R Я ссылаюсь на это еженедельно или больше. Исследовательская работа в консоли постепенно уточняется и добавляется в файл.

Иногда у команды есть секрет, например, ключ API или поиск по фрейму данных с конфиденциальной информацией, и в этом случае я бы хотел отключить сохранение истории только для этой одной команды и повторно включить ее сразу после , Нечто подобное опции bash ignorespace.

Я был бы рад за решение, которое работало бы в R или RStudio, оба были бы даже лучше. Я знаю, что историю можно отключить вручную, перейдя на Tools > Options > General > Always save history, но я ищу либо команду (или сочетание клавиш), чтобы ее можно было быстро включить или выключить.

Редактировать: что-то, что, как я думал, могло бы работать, но, казалось, совсем не помогало, устанавливало "R_HISTFILE" в FALSE или в несуществующий файл. Это не поможет истории RStudio по крайней мере. Мое рассмотрение того, что на самом деле было сделано, еще не было очень тщательным.

1 Ответ

1 голос
/ 19 апреля 2019

Как я уже говорил в комментарии, есть способы избежать сохранения ключа API в файле истории.Поскольку комментарий, по-видимому, собрал некоторые возражения, возможно, стоит расширить его в ответе.

Иногда у команды будет секрет, такой как ключ API, или поиск по фрейму данных с конфиденциальныминформация, в этом случае я хотел бы иметь возможность отключить сохранение истории только для этой одной команды и повторно включить ее сразу после.

Я думаю, что сейчас можно найти толькоО «проблеме с ключом API» в текущей версии RStudio см. комментарии в ссылках к абзацу: «О конфиденциальной информации:»

Однако, пока вы ожидаете сообщения, эта страница может представлять интересдля вас: https://cran.r -project.org / web / packages / httr / vignettes / secrets.html .

Избегать хранения ключа API проще, чем конфиденциальная информация о data.frame, я думаю.

Относительно конфиденциальной информации:

Дольше представить, но "чисто": я думаю, что стоит добавить его в качестве запроса функции для отличного пакета rstudioapiили добавив сюда:

Быстро вводить, но грязно: - грязный хакерВ качестве обходного пути можно было бы добавить надстройку для удаления последней вставки в файле истории.

Хранение информации

Здесь описано, где хранятся настройки: https://support.rstudio.com/hc/en-us/articles/200534577-Resetting-RStudio-Desktop-s-State.

Вы можете перейти к папке Rstudio-desktop.Например, в Windows введите:% localappdata% \ RStudio-Desktop в проводнике.

Глобальные параметры, которые вы ищете, можно найти здесь: .. \ monitored \ user-settings \ user-settings.

Флаг "всегда сохранять историю ..." в Rstudio - Инструменты - Глобальные параметры - Общее - это первое значение в .. \ monitored \ user-settings \ user-settings.

К сожалению, RStudioне будет прослушивать изменения в этом файле, поэтому вам придется перезапустить RStudio, чтобы изменения стали видимыми.Так что сейчас это не вариант для временной остановки Rstudio от записи истории.

Что касается ключа API , позвольте мне кратко изложить несколько подходов этой страницы:

  • Добавьте всплывающее окно, чтобы узнать секрет: rstudioapi :: askForPassword ()
  • используйте переменные окружения.Вы избегаете всплывающего окна, но я думаю, что оно просто перемещает регистрацию конфиденциальной информации из «истории» в envar.
  • наконец, посмотрите пакет keyring для хранения данных в секретном хранилище вашей ОС.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...