2016-11-30 3 views
0

Ich bin neu in Python und Pydev. Ich habe Tensorflow-Quelle und bin in der Lage, die Beispieldateien mit Python3/Patttoexamplefile.py auszuführen. Ich möchte versuchen, durch den Code word2vec_basic.py in Pydev zu gehen. Die debuger halten werfen Datei "/ Users/me/Arbeitsbereich/tensorflow/tensorflow/Python/init Py", Zeile 45, in von tensorflow.python Import pywrap_tensorflow Import: kann nicht importieren Namen 'pywrap_tensorflow'kann Tensorflow in Pydev oder das Arbeitsverzeichnis nicht importieren

Ich denke, es hat etwas mit dem Arbeitsverzeichnis zu tun. Ich bin in der Lage, python3-c "import Tensorflow" aus meinem Home-Verzeichnis ausführen. Aber sobald ich/Users/me/workspace/tensorflow eintrage, löst der Befehl den gleichen Fehler aus und referenziert dieselbe Zeile 45.

Kann mir jemand durch diesen Teil helfen? Vielen Dank.

enter image description here

+0

Bitte fügen Sie die folgenden Informationen hinzu, um Ihnen dort zu helfen: Screenshot des Pydev-Paket-Explorers (um zu sehen, wie Ihr Projekt strukturiert ist) und des vollständigen Stack-Trace (nicht nur die letzte Nachricht). –

+0

Screenshot hinzugefügt. – bhomass

Antwort

0

Try 2 Dinge zu tun:

  1. Update PyDev 5.4.0 und die Unterstützung für den Betrieb mit der '-m' Flag (in Einstellungen> PyDev> Ausführen) ermöglichen.

  2. Gehen Sie zu Start in Run> Run Configurations> Wählen Sie den Start und ändern Sie das Arbeitsverzeichnis als Projektstandort.

Dann versuchen Sie es erneut auszuführen. Wenn es immer noch fehlschlägt, posten Sie Ihre volle Stack-Trace ... auch, sollte der Screenshot für den Baum nicht die gesamte Quelle für Tensorflow erweitert haben (dh: Ich interessiere mich für die Symbole im Zusammenhang mit dem Projekt und Quellordner zu wissen Sie, wie Sie Ihre PYTHONPATH-Konfiguration in PyDev erstellt haben, nicht den internen Inhalt des Tensorflow-Moduls.

+0

"Wählen Sie den Start und ändern Sie das Arbeitsverzeichnis als Projektstandort." Ich wählte Standard von "$ {project_loc:/ausgewählter Projektname}". Ist es das, was du meintest? Jetzt bekomme ich einen einfachen Ein-Zeilen-Dump: /Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4: Fehler beim Finden der Spezifikation für 'tensorflow.examples.tutorials.word2vec.word2vec_basic' (: Name kann nicht importiert werden 'pywrap_tensorflow') – bhomass

+0

eclipse einfach diese Zeile ausführen: /Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4 -u/Users/me/workspace/tensorflow/tensorflow/examples/tutorials /word2vec/word2vec_basic.py, das in fast jedem Verzeichnis perfekt außerhalb von Eclipse funktioniert. Ich habe versucht, das Startkonfigurations-Arbeitsverzeichnis auf ein paar verschiedene zu setzen, aber es schlägt immer mit ImportError fehl: kann den Namen 'pywrap_tensorflow' nicht importieren. Was kann noch anders beim Ausführen in Eclipse vs Befehlszeile sein? – bhomass

+0

Ich fand den Unterschied, wie der Code in Eclipse vs von der Befehlszeile ausgeführt wird. In der Eclipse werden alle _init_.py-Dateien ausgeführt, auch die mit den übergeordneten Paketen der ausführbaren Datei. Wenn das von der Befehlszeile ausgeführt wird, passiert das nicht. Wie funktioniert _init_.py? Warum der Unterschied, kann ich Eclipse das übergeordnete Paket _init_.py überspringen lassen, also funktioniert es genau wie von der Befehlszeile? – bhomass

0

Ok, das Problem ist der gesamte Tensorflow Source Tree ist innerhalb des Eclipse-Projekts. Es ist unklar, ob zu den anderen Zweigen des Quellbaums oder zu den installierten Tensorflow-Modulen gegangen werden soll. Ich habe ein separates Pydev-Projekt mit nur dem Word2vec-Verzeichnis erstellt und es läuft jetzt in Eclipse.

+0

Schön dass du es gelöst hast;) –

Verwandte Themen