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

#python #anaconda #octave #spyder #oct2py

#python #anaconda #октава #spyder #oct2py

Вопрос:

Windows7

Anaconda / python версия 3.4

Версия Octave 4.0.3

OCTAVE_EXECUTABLE = C:UsersHeatherOctave-4.0.3bin

Привет всем,

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

До сих пор я устанавливал пакет oct2py в облако Anaconda, используя:

conda install -c conda-forge oct2py = 3.5.9

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

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

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

следовательно:

из oct2py импортируйте октаву

Ошибка: не удается импортировать имя octave

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

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

Пример кода:

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

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

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

Комментарии:

1. Почему этот вопрос был отклонен?

Ответ №1:

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

 OCTAVE_EXECUTABLE = C:UsersHeatherOctave-4.0.3binoctave-cli.exe
 

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

 from oct2py import Oct2Py
octave = Oct2Py('C:UsersHeatherOctave-4.0.3binoctave-cli.exe')
 

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

Комментарии:

1. Я добавил исполняемую часть в OCTAVE_EXECUTABLE, и это не совсем решило мою проблему. Но когда я добавил часть

2. (Извините за два комментария) Когда я добавил ввод в Oct2py с добавлением r для необработанного ввода впереди, он работал просто отлично. из oct2py импортируйте Oct2Py octave = Oct2py(r’C:UsersHeatherOctave-4.0.3binoctave-cli.exe ‘)