Seite 1 von 1
Idle versus ?
Verfasst: Montag 30. Januar 2012, 17:46
von hypnoticum
Hallo,
ich habe folgenden Code in Eclipse ausgeführt und die erzeugte Datei bleibt ohne Inhalt -
lasse ich aber das Ganze mit Idle laufen bekomme ich eine tadellose Datei.
In den Projekteigenschaften ist als Interpreter "C:\Python26\python.exe" eingetragen.
Der Idle Pfad wurde bei der PythonXY-Installation unter "C:\Python26\Lib\idlelib\idle.bat" angelegt und die Datei hat den angefügten Inhalt.
WO IST DER UNTERSCHIED?
bzw was muss ich machen, damit ich in eclipse auch eine korrekte datei bekomme?
@echo off
rem Working IDLE bat for Windows - uses start instead of absolute pathname
start idle.pyw %1 %2 %3 %4 %5 %6 %7 %8 %9
Code: Alles auswählen
import Gnuplot
from numpy import *
x = linspace(0,10,31)
y = x**2
g = Gnuplot.Gnuplot()
d = Gnuplot.Data(x, y)
g.plot(d)
g.hardcopy(filename = 'H:/data.eps', terminal = 'postscript', mode = 'eps', color = 1)
print "Done"
Re: Idle versus ?
Verfasst: Dienstag 31. Januar 2012, 09:23
von BlackJack
@hypnoticum: `Gnuplot`-Exemplare haben eine `close()`-Methode, versuch die mal.
Re: Idle versus ?
Verfasst: Dienstag 31. Januar 2012, 09:51
von hypnoticum
@BlackJack:
ich habe am ende des codes die Zeile "g.close()" eingefügt, ohne dass sich was ändert, oder wie war das gemeint?
Wenn ich nach dem hardcopy Aufruf die folgende Zeile einfüge klappt es (nur will ich nicht jedes Datei erst manuell bestätigen)
Re: Idle versus ?
Verfasst: Dienstag 31. Januar 2012, 10:09
von BlackJack
@hypnoticum: Woran merkst Du denn dass die Datei keinen Inhalt hat? Per Hand oder versuchst Du die Datei sofort nach dem Erstellen mit einem Programm weiter zu verarbeiten? `Gnuplot` ist für so etwas unbrauchbar, weil da mehr oder weniger beliebige „Bedenkzeiten” auf der ``gnuplot``-Seite entstehen können, die man von der Python-Seite nicht zuverlässig abfragen kann. Wenn Du einen Plot absetzt, dann geht das Python-Programm sofort weiter, während der ``gnuplot``-Prozess noch am berechnen der Grafik ist.
Re: Idle versus ?
Verfasst: Dienstag 31. Januar 2012, 10:21
von hypnoticum
@ BlackJack:
wenn die Datei erfolgreich geschrieben wurde öffne ich sie nach Beendigung des Scripts manuell mit Ghostview und bekomme den Graphen angezeigt.
Im anderen Fall sehe ich nur eine leere Seite.
Ausserdem ist die Datei 20kB groß, falls nichts geschrieben wurde wird eine Datei mit 0kB erzeugt.
wenn ich einen time.sleep() einfüge klappt es ebenfalls.
kennt jemand eine Möglichkeit, die erfolgreiche Erzeugung der Datei zu pollen, oder wie geht man da am besten vor?
Re: Idle versus ?
Verfasst: Dienstag 31. Januar 2012, 10:34
von BlackJack
@hypnoticum: Am besten etwas anderes als das `Gnuplot`-Modul verwenden. Das hat eben genau diese Probleme.
Re: Idle versus ?
Verfasst: Dienstag 31. Januar 2012, 14:06
von hypnoticum
@BlackJack: danke für den Hinweis
Ich hatte zuvor "import matplotlib.pyplot as plot" verwendet.
Doch aus irgendeinem Grund kam dort plötzlich der Fehler "ImportError: Warning: formlayout requires PyQt4 >v4.3" (Obwohl ich PythonXY verwende)
Da ich keine Ahnung hatte, was das sollte und ich gnuplot ohnehin mal ausprobieren wollte habe ich diesen Ansatz gewählt.
jetzt habe ich das alte Problem oder das neue. wie schön.
Langsam habe ich das Gefühl mit Python steht man ständig in der Sch...
Anstatt mich um die eigentlichen Probleme zu kümmern habe ich ständig mit irgendwelchem Kram zu tun
Re: Idle versus ?
Verfasst: Mittwoch 1. Februar 2012, 08:44
von Leonidas
Steht dir ja frei was anderes zu nutzen...
Aber matplotlib sollte eigentlich anständig paketiert sein, falls du Probleme hast solltest du einen Bugreport bei deiner Distribution einschicken.
Re: Idle versus ?
Verfasst: Mittwoch 8. Februar 2012, 10:17
von hypnoticum
@Leonidas:
schon OK, bin nur manchmal etwas genervt.
Ich habe herausgefunden, dass der Fehler
"ImportError: Warning: formlayout requires PyQt4 >v4.3"
beim Ausführen von
"import matplotlib.pyplot as plot"
von der aktualisierten Qt-Version verursacht wurde.
Wenn man den Inhalt aus dem "C:\Python27\Lib\site-packages\PyQt4\bin" Ordner in den übergeordneten "C:\Python27\Lib\site-packages\PyQt4" verschiebt bzw. kopiert lassen sich die Module wieder importieren, die zuvor nicht gefunden wurden.