Как вы получаете свой путь в Octave (на Windows)? - PullRequest
7 голосов
/ 29 октября 2011

Я использовал addpath(pwd), чтобы мои файлы .m работали в каталоге моих проектов.Когда я закрываю окно и запускаю новое окно, только что добавленный путь исчез.Но файлы все еще работают.

Это у меня в пути или нет?Как посмотреть каталоги, которые я добавил к своему пути?

Кроме того, . - это первая запись, которую я вижу из path.Означает ли это, что мне не нужно добавлять какие-либо каталоги, потому что он всегда будет сначала искать текущий каталог?

Спасибо.

Ответы [ 4 ]

11 голосов
/ 04 января 2012

В основном, да.

Вы можете добавить каталог к ​​пути поиска, используя addpath(), но, как вы знаете, он существует только для текущего сеанса и сбрасывается при перезапуске Octave.Если вы хотите, чтобы путь между сеансами сохранялся, добавьте его в octaverc, файл сценария, который запускается при запуске нового сеанса.Пример пути к octaverc файлу:

C:\Octave\3.2.4_gcc-4.4.0\share\octave\site\m\startup

Поскольку . находится в вашем пути по умолчанию, Octave будет искать в вашем текущем каталоге любые функциональные файлы, которые ему нужны.Использование addpath(pwd) несколько бесполезно, если вы просто собираетесь остаться в том же каталоге.Однако в некоторых случаях это было бы полезно, если, например, у вас есть каталог с вашими функциями, а другой - с данными, над которыми вы работаете: вы можете начать с каталога функций, выполните команду * 1011.*, а затем cd в каталог данных, сохраняя при этом возможность использовать ваши функции.

2 голосов
/ 29 июля 2013

Вы можете создать пакетный файл, который запустит Octave с вашим каталогом. Пожалуйста, смотрите пример ниже:

octave-3.6.4.exe -p "C:\MyOctaveDiretory"

 -p means addpath()
1 голос
/ 29 марта 2017
addpath(pwd); savepath();

Готово.

0 голосов
/ 08 июля 2017

Я думаю, что есть ошибка в Octave (я использую версию 4.0.3 для Windows).Когда я создаю новый файл по текущему пути, он не может быть вызван Octave («ошибка: 'foo' не определена рядом со строкой 1, столбец 1").Если я перезапущу Octave, это сработает.Этот трюк с addpath (pwd) мне очень помогает (до того, как я безуспешно попробовал rehash () и cd в другом месте и обратно).

Если у вас возникла та же проблема, причина этого может быть:

  1. Запустить Octave.
  2. Создать newfile.m.
  3. Вызвать newfile - не удалось, поскольку Octave не зарегистрировал свое существование.
  4. addpath (pwd) - причиныOctave, чтобы зарегистрировать его.
  5. Закрыть Octave
  6. Запустить Octave - теперь pwd исчез из пути, но newfile.m регистрируется при запуске.
  7. вызывать newfile - работает
...