2016-04-27 2 views
1

Я пытаюсь использовать (и, следовательно, установить) пакет оптимизации, называемый mosek, и, более конкретно, использовать его с python на ноутбуке jupyter.установить mosek.fusion для python в anaconda (ubuntu)

Это коммерческий пакет, но поскольку я работаю в академических кругах, у меня есть бесплатная лицензия.

Эта проблема была отредактирована благодаря знаниям Павла.

Моя цель - использовать mosek в python 3.5 через jupyter.

1 ° Мой вопрос:

Когда я запускаю следующую строку кода в jupyter ноутбука:

import mosek.fusion 

У меня есть следующее сообщение об ошибке:

import mosek.fusion --------------------------------------------------------------------------- 
ImportError        Traceback (most recent call last) 
<ipython-input-9-81543b63d59f> in <module>() 
----> 1 import mosek.fusion 

ImportError: No module named 'mosek.fusion' 

2 ° Что я сделал:

Сначала я загрузил и установил mosek. Я также добавил свою лицензию в свою папку mosek. (Я сделал все описанные здесь шаги: http://docs.mosek.com/7.1/toolsinstall/Linux_UNIX_installation_instructions.html и добавил свою академическую лицензию).

Затем я попытался запустить строку кода: import mosek.fusion, который дал ошибку. Затем я попытался запустить:

import mosek 

тогда у меня не было ошибки. Я пришел к выводу, что mosek (теперь, благодаря Paul), правильно установлен, но модуль слияния отсутствует.

Я также ищу любой файл или папку fusion в папке mosek. Я не нашел.

Есть ли способ получить этот модульный фьюжн от mosek, и даже лучше, есть ли способ заставить его работать?

Спасибо всем!

E.

ответ

1

Fusion пока недоступен для Python3. Это будет в следующем крупном выпуске, т. Е. MOSEK 8.

+0

Спасибо. Знаете ли вы, доступен ли он для python 2? – probaPerception

+0

Да, это так. См. Http://docs.mosek.com/7.1/pythonfusion/index.html – AndreaCassioli

2

Я считаю, что он установил его на .local, потому что вы установили с --user флагом. Другими словами:

python setup.py install --user 

Попытка запуска установки без --user флага. Это должно установить его в вашей среде conda.

Но я не уверен, что это ваша проблема с импортом. Возможно, модуль fusion не существует. Попробуйте ls -принять, что находится в этой папке /home/edwin/.local/lib/python3.5/site-packages/mosek/. Возможно, попробуйте from mosek import fusion.

+1

Вы правы, я устанавливаю его снова без --user, и он устанавливает его в моей среде conda. Затем я попробовал ваш совет от mosek import fusion, но у меня была такая же ошибка, как и раньше. Затем я пытаюсь найти файл fusion или папку в моей папке mosek в конде, и нет такого файла/папки ... Любая идея, как я могу получить слияние? Думаю, я отредактирую свой вопрос, чтобы он стал более конкретным. Спасибо за вашу помощь, это помогло мне настроить мою реальную проблему. – probaPerception

0

Самый простой способ установить Mosek (для использования с Python), чтобы использовать программу установки пип:

пип установить мерзавец + http://github.com/MOSEK/[email protected]#egg=mosek

Вы также можете установить переменную environement для Lisence Mosek явно, например

os.environ.setdefault ("MOSEKLM_LICENSE_FILE", лицензия), где лицензия является адресом сервера или местоположением файла.

Однако Mosek Fusion еще не доступны для Python 3

+0

Спасибо, но я нашел способ использовать Mosek и слияние с Python. Мне нужно было использовать Python 2 вместо Python 3. – probaPerception

+0

Установка через pip не волнует, используете ли вы Python 2 или Python 3. Это просто инструмент, который упрощает и автоматизирует установку (возможно, у вас есть testerver и т. Д.). – tschm

0

Держите на сайте MOSEK. Версия 8 (бета), которая скоро будет выпущена, будет поддерживать Python 3.5. Также будет доступна полная поддержка Anaconda.