Команда Linux работает на терминале, но не в блокноте ipython - PullRequest
0 голосов
/ 15 ноября 2018

Я использую pg_dump mydb > ~/Desktop/mydb.dump на моей оболочке Mac, которая прекрасно работает.

Но когда я использую ту же команду на ноутбуке jupyter с ! или %% bash , она не работает, говоря, что /bin/sh: pg_dump: command not found

У меня нет проблем с запуском других команд на ноутбуке.

В чем может быть проблема?

Заранее спасибо.

РЕДАКТИРОВАТЬ И ОТВЕТ:

Итак, хотя я запускаю ноутбук jupyter через терминал, интересно, что переменные env не такие, как кажется.

Я не знаю, почему именно, но вместо pg_dump, если я напишу полный путь для pg_dump, который я добавил в ~ / .bash_profile на терминале, он также работает на ноутбуке jupyter. в моем случае это

/Applications/Postgres.app/Contents/Versions/11/bin/pg_dump mydb > ~/Desktop/mydb.dump

1 Ответ

0 голосов
/ 15 ноября 2018

Вам следует изменить переменную $ PATH, когда вы используете bash в блокноте ipython Как:

 export PATH=$PATH:/usr/local/bin/pg_dump && pg_dump mydb > ~/Desktop/mydb.dump
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...