oct2py в Anaconda / Spyder не распознает октаву

Windows 7

Anaconda / Python версии 3.4

Octave, версия 4.0.3

OCTAVE_EXECUTABLE = C: \ Users \ Heather \ Octave-4.0.3 \ bin

Всем привет,

Я несколько дней работал над тем, чтобы заставить oct2py работать в Anaconda с помощью Spyder. Мне было интересно, может ли кто-нибудь сказать мне, как правильно заставить его работать в Spyder на машине с Windows? Может быть, базовая настройка или я использую неправильные пакеты?

Пока что я установил пакет oct2py для облака Anaconda, используя:

conda install -c conda-forge oct2py = 3.5.9

Во всей документации по oct2py упоминалось о необходимости загрузки Octave для работы oct2py. Итак, на этой странице pypi.python.org/pypi/oct2py упоминается получение Octave из sourceforge в

https://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/.

Я загрузил Octave 3.6.4 оттуда, и друг помог мне получить OCTAVE_EXECUTABLE в моих переменных среды, указывающих на него. На этом этапе я мог ввести «октаву» в командной строке, и это вызвало бы экземпляр октавы, но Spyder никогда не узнал бы, что у меня установлена ​​октава.

эрго:

из oct2py импорт октавы

Ошибка: невозможно импортировать октаву имени

В этот момент я понял, что Sourceforge Octave сказал, что это дополнительный пакет, поэтому я удалил Octave 3.6.4 и установил Octave 4.0.3 из http://www.gnu.org/software/octave/ для Windows. Теперь Octave красиво открывается, когда я нажимаю на приложение, но командная строка не распознает термин «октава», который, как мне кажется, является шагом назад. Я снова посмотрел на свои переменные env, и новый путь для Octave присутствовал в системных переменных, и я обновил OCTAVE_EXECUTABLE, чтобы указать на новую версию Octave (без пробелов в каталоге). Но мой компьютер даже после полного выключения и перезапуска не распознает «октаву» в командной строке, и Spyder по-прежнему не видит, что у меня есть октава, когда я пытаюсь запустить oct2py.Oct2Py ().

Итак, после всего этого мне было интересно, получил ли кто-нибудь oct2py для работы в Anaconda, но особенно с использованием Spyder? Как же так? Я пытаюсь открыть свой скрипт python и использовать файл .m для выполнения функции и вывода матрицы, которая будет использоваться в скрипте для вычислений. Однако, если я даже не могу заставить его распознавать октаву, я не знаю, как мне это закончить.

Пример кода:

from oct2py import Oct2Py
filename = 'filename'
oc = Oct2Py()
eph_matrix = oc.read_eph(filename)
print(eph_matrix) #nx25 matrix

Я надеюсь, что я смогу просто заставить python распознавать Octave, что я смогу пройти строку импорта.

Любая помощь будет очень признательна.


person Telesto    schedule 14.10.2016    source источник
comment
Почему этот вопрос был отклонен?   -  person shahensha    schedule 23.10.2016


Ответы (1)


Переменные среды OCTAVE_EXECUTABLE или OCTAVE должны указывать непосредственно на исполняемый файл, а не на папку, содержащую исполняемый файл. Так что вы, вероятно, захотите установить его на

OCTAVE_EXECUTABLE = C:\Users\Heather\Octave-4.0.3\bin\octave-cli.exe

Другой вариант - предоставить исполняемый файл в качестве первого входа для Oct2Py.

from oct2py import Oct2Py
octave = Oct2Py('C:\Users\Heather\Octave-4.0.3\bin\octave-cli.exe')

Кроме того, если вы хотите иметь возможность запускать его из командной строки Windows, вам нужно добавить папку, содержащую исполняемые файлы ('C:\Users\Heather\Octave-4.0.3\bin'), в переменную среды PATH.

person Suever    schedule 14.10.2016
comment
Я добавил исполняемую часть в OCTAVE_EXECUTABLE, и это не совсем решило мою проблему. Но когда я добавил порцию - person Telesto; 15.10.2016
comment
(Извините за два комментария) Когда я добавил ввод в Oct2py, с добавленным r для необработанного ввода впереди, он работал нормально. из oct2py import Oct2Py octave = Oct2py (r'C: \ Users \ Heather \ Octave-4.0.3 \ bin \ octave-cli.exe ') - person Telesto; 15.10.2016