#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 ‘)