2016-04-27 7 views
1

Ich versuche zu verwenden (und damit zu installieren) ein Optimierungspaket namens Mosek und genauer gesagt, es mit Python auf einem Jupyter-Notebook zu verwenden.install mosek.fusion für python in anaconda (ubuntu)

Es ist ein kommerzielles Paket, aber da ich in der Wissenschaft arbeite, habe ich eine kostenlose Lizenz.

Dieses Problem wurde dank Paul Insights bearbeitet.

Mein Ziel ist es, Mosek in Python 3.5 durch Jupyter verwenden zu können.

1 ° Mein Problem:

Wenn ich ausführen, um die folgende Codezeile in jupyter Notebook:

import mosek.fusion 

Ich habe folgende Fehlermeldung:

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 ° Was ich getan habe:

Ich habe zuerst Mosek heruntergeladen und installiert. Ich habe auch meine Lizenz in meinem Ordner mosek hinzugefügt. (Ich habe alle hier beschriebenen Schritte gemacht: http://docs.mosek.com/7.1/toolsinstall/Linux_UNIX_installation_instructions.html und meine akademische Lizenz hinzugefügt).

Ich versuchte dann, die Zeile Code auszuführen: import mosek.fusion, die einen Fehler ergab. Ich habe dann versucht zu laufen:

import mosek 

dann hatte ich keine Fehler. Meine Schlussfolgerung ist, dass Mosek (jetzt, dank Paul) richtig installiert ist, aber das Fusionsmodul fehlt.

Ich suche auch nach einer Fusion-Datei oder einem Ordner in meinem Mosek-Ordner. Ich habe keine gefunden.

Gibt es eine Möglichkeit, diese Modul-Fusion von Mosek zu bekommen, und noch besser, gibt es eine Möglichkeit, damit es funktioniert?

Danke euch allen!

E.

Antwort

1

Fusion ist für Python3 noch nicht verfügbar. Es wird in der nächsten Hauptfreigabe, d.h. MOSEK 8.

+0

Danke. Weißt du, ob es für Python 2 verfügbar ist? – probaPerception

+0

Ja ist es. Siehe http://docs.mosek.com/7.1/pythonfusion/index.html – AndreaCassioli

2

Ich glaube, dass es zu Ihrem .local installiert, da Sie mit der --user Flagge installiert. Mit anderen Worten:

python setup.py install --user 

Der Versuch, die ohne die --user Flagge installieren läuft. Das sollte es in Ihrer Conda-Umgebung installieren.

Aber ich bin mir nicht sicher, dass das Ihr Importproblem ist. Vielleicht existiert das Modul fusion nicht. Versuchen Sie ls -ing, was in diesem Ordner ist /home/edwin/.local/lib/python3.5/site-packages/mosek/. Vielleicht versuchen Sie from mosek import fusion.

+1

Sie haben recht, ich installiere es wieder ohne --user und es installiert es in meiner Conda-Umgebung. Ich versuchte dann Ihren Rat von Mosek Import Fusion, aber ich hatte genau den gleichen Fehler wie zuvor. Ich versuche dann, eine Fusion-Datei oder einen Ordner in meinem Mosek-Ordner in Conda zu suchen, und es gibt keine solche Datei/Ordner ... Irgendeine Idee, wie ich Fusion bekommen kann? Ich denke, ich werde meine Frage so bearbeiten, dass sie spezifischer wird. Vielen Dank für Ihre Hilfe, es half mir mein wirkliches Problem anzusprechen. – probaPerception

0

Der einfachste Weg Mosek (für die Verwendung von Python) ist zu verwenden, um die Pip-Installer zu installieren:

pip installieren git + http://github.com/MOSEK/[email protected]#egg=mosek

Sie können auch festlegen möchten die environement Variable für die Mosek lisence ausdrücklich, z.B

os.environ.setdefault ("MOSEKLM_LICENSE_FILE", Lizenz) wobei die Lizenz eine Serveradresse oder ein Speicherort ist.

ist jedoch Mosek Fusion noch nicht für Python verfügbar 3

+0

Vielen Dank, aber ich habe einen Weg gefunden, Mosek und Fusion mit Python zu verwenden. Ich musste Python 2 anstelle von Python 3 verwenden. – probaPerception

+0

Die Installation über PIP ist egal, ob Sie Python 2 oder Python 3 verwenden. Dies ist nur ein Werkzeug, um die Installation einfacher und automatisierter zu machen (vielleicht haben Sie einen Testserver usw.). – tschm

0

Fahren Sie auf der MOSEK Website. Die bald erscheinende Version 8 (Beta) wird Python 3.5 unterstützen. Auch voller Anaconda Support wird in Kürze verfügbar sein.