Forum: PC Hard- und Software python verzweiflung


von null plan (Gast)


Lesenswert?

Extra python modules in FreeCAD für Windows (7) bringt mich zur 
Verzweiflung:

http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#Windows_3

Wie bringt man denn FreeCAD pyCollada bei ??

Bin leider weder "Experte" für FreeCAD und schon gar nicht für python.

Was ist zu tun?

von Yalu X. (yalu) (Moderator)


Lesenswert?

null plan schrieb:
> Bin leider weder "Experte" für FreeCAD und schon gar nicht für python.

... und ich leider kein Experte für Windows :)

Ich würde es folgendermaßen versuchen:

Die Datei pycollada-x.y.z-tar.gz hier herunterladen:

  https://pypi.python.org/pypi/pycollada/

Auspacken (sollte auch mit WinZip gehen, falls du kein tar hast).

Unter den ausgepackten Dateien gibt es ein Installationsskript namens
setup.py, das die mit folgendem Befehl startest:
1
python setup.py install

Ist python.exe nicht in einem in der PATH-Variablen aufgeführten
Verzeichnisse, musst du es als absoluten Pfad angeben.

Wenn das nicht funktioniert, musst du warten, bis ein Windows-Experte
des Weges kommt :)

von null plan (Gast)


Lesenswert?

> python setup.py install

Leider alles schon probiert ohne Erfolg. Ich hab mich schon mal vor 
einiger Zeit an dem Mist stundenlang abgearbeitet und dann irgendwann 
frustriert hingeworfen. Beim ersten mal bin ich vom Hölzchen aufs 
Stöckchen gekommen, soll heißen, fing damit an python zu installieren. 
Nur welches? v2.6 v2.7 3er Version? (FreeCAD nutzt 2.6 selbst in der 
BEta 0.14) Irgendwann hatte ich 2.7 installiert. Das war noch die 
einfachste Übung. Dann wollte er plötzlich Zusatzpakete wie numpy, 
matplotlib und andere. Finde die erstmal als jemand der python bisher 
nicht angepackt hat - eine Suchorgie. Dann meinte er setuptools würden 
fehlen. Was für setuptools? OK, auch die hab ich irgendwann gefunden. 
Zudem kommen die ganzen Pfadprobleme unter Win hinzu. Irgendwann hab ich 
ihn dann einfach unter C:\python27 installieren lassen, was ja auch 
nicht Sinn der Sache von Sicherheit sein sollte. FreeCAD schweigt sich 
zur Windows installation von pycollada völlig aus

" Windows

To Be Documented "

Ja toll!! :( Ich wollte auf die schnelle auch kein Python lernen, 
sondern nur ein schnödes Modul FreCAD hinzufügen. FreeCAD ist sowieso 
eines der schlimmsten OS Programme hinsichtlich der Bedingung die ich 
kenne. Eine Zumutung ist das. Nichtmal das Undo funktioniert richtig. 
Absturzsicherheit um Welten verfehlt. Das Problem ist, es ist keine OS 
vorhanden, die mir die Lücke füllt zwischen Sketchup (ein phantastisches 
Werkzeug) und einem für meine Zwecke nutzbaren 3D-Format, bei dem ich 
die Farbinformation ohne Konversionskrampf über zig Ecken in mein 
Ausgangs 3D-Modell bekomme. Sketchup könnte das zwar in der Pro Version, 
aber eben nur für 500 Euro. Nur eben nicht in der Freeware. Da kennt es 
nur ein umfängliches 3D-Exportformat, nämlich dae (collada) und das 
weiterzuverarbeiten führt zu neuen Problemen mit anderen Tools. Mit 
Blender geht zwar auch was, aber das ist auch nicht viel besser als 
FreeCAD zu verwenden und bedeutet umfangreiche Einarbeitung, nur für ein 
paar Konversionen. Mir reicht schon Wings3D, für das ich sehr viel Zeit 
investieren musste und wenn mans nicht dauernt bedient vergisst man 
schnell wieder die trickreiche Bedienung.

Zurück zu python. Ich hab es zwar geschafft einmal einen 
Compiliervorgang (ich nenn's mal so) anzustoßen, aber das Ergebnis war 
kein fertiges Modul, sondern ein Verzeichnis

setuptools-0.6c11-py2.6.egg-info

mit

dependency_links.txt
entry_points.txt
PKG-INFO
SOURCES.txt
top_level.txt
zip-safe

Sagt mir gar nichts, aber was es mir sagt ist, 13 kBytes insgesamt kann 
nicht das fertige Modul sein :).

Irgendwas mit ".pyc" müsste wohl heraus kommen oder?

Im moment geb' ich's (mal wieder) auf und verbuche es unter "OS 
Erfahrung" der schlechten Seite.

Einer hat wohl das gleiche Dilemma gehabt und hat im FreeCAD Forum 
nachgefragt und gleich eine Abfuhr abbekommen, so nach dem Motto, 
"benutzt hier keiner". Irgendwie auch typisch. Naja.

Warum FreeCAD damit wirbt, aber so vieles im Unklaren lässt ist mir 
völlig unverständlich. Was mir immer wieder auffällt ist, grundlegende 
intuitive Bedienweisen werden völlig vernachlässigt, dafür lieber alle 
möglichen halbgaren Gimmicks hinzugefügt und die Programme verharren 
eine gefühlte Ewigkeit im halbfertigen, instabilen Zustand.

Vielen Dank einstweilen für deine Anteilnahme.

von Kaj (Gast)


Lesenswert?

1. Alle alten Pythonversionen löschen und Python 3.4.1 installieren, das
   bringt pip mit (endlich!)
2. In der Kommandozeile eingeben: pip install pycollada
3. Glücklich sein

von Karl Käfer (Gast)


Lesenswert?

Hi,

unter

  https://pypi.python.org/pypi/setuptools#windows-7-or-graphical-install

findest Du eine Installationsanleitung für die Setuptools unter 
Windows7, die im Wesentlichen daraus bestehen, das Skript

  https://bootstrap.pypa.io/ez_setup.py

herunterzuladen und es auf Deinem Windows-System auszuführen. Das Skript 
sollte dann die Setuptools automatisch herunterladen und installieren. 
Danach solltest Du mit dem Skript easy_install aus den Setuptools 
nacheinander die Pakete lxml, numpy, dateutil und collada installieren 
können:
1
easy_install lxml
2
easy_install numpy
3
easy_install dateutil
4
easy_install collada

Da ich kein Windows7 habe, kann ich das hier leider nicht ausprobieren.

HTH,
Karl

von null plan (Gast)


Lesenswert?

Kaj (Gast) schrieb:

> 1. Alle alten Pythonversionen löschen und Python 3.4.1 installieren, das
>   bringt pip mit (endlich!)

gesagt, getan

> 2. In der Kommandozeile eingeben: pip install pycollada

gesagt, getan

> 3. Glücklich sein

gesagt, getan

pip install pycollada
          ^
Syntax Error: invalid syntax

von Kaj (Gast)


Lesenswert?

null plan schrieb:
> pip install pycollada
>           ^
> Syntax Error: invalid syntax
Dann stimmt was mit deiner Installation nicht, denn die Syntax ist exakt 
so richtig. Ist Python richtig in PATH eingetragen?

C:\>pip install pycollada
So muss das aussehen, und so ist die Syntax auch richtig

von null plan (Gast)


Lesenswert?

> Da ich kein Windows7 habe, kann ich das hier leider nicht ausprobieren.

Das ist das Problem. So macht das keinen Sinn. Das ganze geskripte das 
auf eurem Linux wie erwartet seinen Dienst tut läuft so einfach nicht.

lxml, numpy, dateutil hatte ich bereits vorher schon drauf, als 
ordentliche Windows Setup.exe Programme. Damit gab's soweit auch keine 
Probleme. Easy_install.exe ist vorhanden. Nur lässt sich damit weder 
lxml installieren (er findet angeblich eine XML .h Datei vom VC nicht) 
noch lässt sich damit numpy installieren.

Nur mal ein Ausschnitt der Fehlermeldungen:

C:\work\Python34\lib\distutils\dist.py:260: UserWarning: Unknown 
distribution option: 'define_macros'
  warnings.warn(msg)
Could not locate executable g77
Could not locate executable f77
Could not locate executable ifort
Could not locate executable ifl
Could not locate executable f90
Could not locate executable DF
Could not locate executable efl
Could not locate executable gfortran
Could not locate executable f95
Could not locate executable g95
Could not locate executable efort
Could not locate executable efc
don't know how to compile Fortran code on platform 'nt'

_configtest.exe.manifest : general error c1010070: Failed to load and 
parse the manifest. Das System kann die angegebene
 Datei nicht finden.

Traceback (most recent call last):
  File "C:\work\Python34\lib\runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\work\Python34\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\work\Python34\Scripts\easy_install.exe\__main__.py", line 9, 
in <module>
  File 
"C:\work\Python34\lib\site-packages\setuptools\command\easy_install.py", 
line 1909, in main
    with_ei_usage(lambda:
  File 
"C:\work\Python34\lib\site-packages\setuptools\command\easy_install.py", 
line 1896, in with_ei_usage
    return f()
  File 
"C:\work\Python34\lib\site-packages\setuptools\command\easy_install.py", 
line 1913, in <lambda>
    distclass=DistributionWithoutHelpCommands, **kw

-----

Ich hab keine Lust auf so eine Orgie von Fehlerbüscheln.

Und ich hab auch keine Lust mir hier allenmöglichen Kram wie Fortran 
Zeugs und weiß der Geier was zu installieren, nach dem Motto .. und noch 
'n Paket und noch 'n Paket und ..

Alles um ein blödes kleines Modul zu übersetzen. Das ist vollkommen 
verrückt, aber die Erfahrung macht man, wenn man sich den Linux 
Skriptkram auf den Windows Rechner holt.

von Karl Käfer (Gast)


Lesenswert?

Hallo,

null plan schrieb:
>> Da ich kein Windows7 habe, kann ich das hier leider nicht ausprobieren.
>
> Das ist das Problem. So macht das keinen Sinn. Das ganze geskripte das
> auf eurem Linux wie erwartet seinen Dienst tut läuft so einfach nicht.

Wenn Du es richtig machst, funktioniert es gemeinhin auch unter Windows 
ganz gut.

> lxml, numpy, dateutil hatte ich bereits vorher schon drauf, als
> ordentliche Windows Setup.exe Programme. Damit gab's soweit auch keine
> Probleme. Easy_install.exe ist vorhanden.

.exe-Dateien? Merkwürdig. Was ist denn das für ein Python?

> Ich hab keine Lust auf so eine Orgie von Fehlerbüscheln.

Dafür bist Du aber selbst verantwortlich.

Natürlich könnte Python einfach "Das Modul KlausDieter hat eine Ausnahme 
festgestellt und wird beendet. Bitte fragen Sie den 
Systemadministrator." ausgeben. Aber "Fehlerbüschel" haben häufig den 
Vorteil, daß man Fehler analysieren und dann beheben kann.

Bitte entscheide Dich, ob Du Dich beschweren, oder ob Du Hilfe willst. 
Einfach wild immer mehr Python-Versionen womöglich aus verschiedenen 
Quellen übereinander zu installieren, ist sicherlich keine gute Idee.

Liebe Grüße,
Karl

von Kaj (Gast)


Lesenswert?

Karl Käfer schrieb:
> .exe-Dateien? Merkwürdig. Was ist denn das für ein Python?
Fuer Python unter Windows gibt es einige Pakete als .exe-Installer, weil 
der gemeine Windows-Benutzer sonst nicht weiss wie er das Paket 
installieren soll... willkommen in der klickibunti-windowswelt

null plan schrieb:
> Alles um ein blödes kleines Modul zu übersetzen. Das ist vollkommen
> verrückt, aber die Erfahrung macht man, wenn man sich den Linux
> Skriptkram auf den Windows Rechner holt.
Unter Linux bemuehe ich meine Paketverwaltung, und die Installiert das 
alles da hin wo es hin soll, und dann funktioniert das auch alles 
sauber. Windows ist an dieser stelle das Problem und nicht der "Linux 
Scriptkram"...

Ich geb dir den Tipp: Mach es einmal ordentlich!

1. Alle Pythoninstallationen deinstallieren!
2. Verbleibene Pythonordner loeschen!
3. Die einzige .exe-Datei die du benutzt ist diese! 
(https://www.python.org/ftp/python/3.4.1/python-3.4.1.msi)

Die Version 3.4.1 bringt pip mit! pip macht das gleiche wie 
easy_install, ist aber gleich mit bei! easy_install brauchst du also 
nicht! Du musst nur die Pythonversion runterladen und installieren.
Achte bei der Installation darauf das Python in PATH eingetragen wird. 
vorher vielleicht noch mal in PATH reinschauen und alte Pythonversion 
daraus loeschen, falls die noch drin stehen.

um zu pruefen ob pip funktioniert kannst du gerne einfach mal pyserial 
installieren.
C:\>pip install pyserial

Wenn dabei Fehlermeldungen auftauchen, hier posten und dann sehen wir 
weiter.

Wenn das alles geklappt hat dann einfach:
Kaj schrieb:
> C:\>pip install pycollada

Wenn dabei Fehlermeldungen kommen, hier posten.

null plan schrieb:
> Nur mal ein Ausschnitt der Fehlermeldungen:
Das zeigt schon das da was ganz anderes nicht stimmt. Das kommt davon 
wenn man einfach alles moegliche installiert...

null plan schrieb:
> Und ich hab auch keine Lust mir hier allenmöglichen Kram wie Fortran
> Zeugs und weiß der Geier was zu installieren, nach dem Motto .. und noch
> 'n Paket und noch 'n Paket und ..
Musst du auch gar nicht, denn darum kuemmert sich pip...
Deine installation ist einfach fuer die Tonne! Nochmal alles neu machen, 
und keinen extra bullshit installieren, den du gar nicht brauchst, wie 
z.B. easy_install!

null plan schrieb:
> Das ist das Problem. So macht das keinen Sinn. Das ganze geskripte das
> auf eurem Linux wie erwartet seinen Dienst tut läuft so einfach nicht.
Doch, das funktioinert ganz wunderbar, auch unter Windows, wenn man es 
denn richtig macht, Forenbeitraege und Dokumentation richtig liest und 
es einfach mal so macht, wie es da steht...

Wenn du diese Hilfe nicht willst, oder dir das zu anstrengend ist, dann 
lass die Finger von Computern...

von Stefam (Gast)


Lesenswert?

FreeCad hat eine integrierte Python console (Version  2.6.2) und nutz 
nicht die Windows Python installation. Es finded auch normale Python 
Modul instllationen nicht. Das ist nötig, um mögliche Versionsprobleme 
zu vermeiden (FreeCAD Python 2.6, Windows Python 3.0 --> crash)

Versuche es in FreeCAD mal mit
1
import sys
2
sys.path.append("C:\mein\Pfad\zu\Pycollada")

und dann pycollada importieren. Natürlich wäre es gut eine Pycollada 
Version zu haben die auch für Python 2.6.2 gemacht ist.

von Stefam (Gast)


Lesenswert?

Jetzt habe ich natürlich vergessen zu schreiben, wie FreeCAD es zum 
startzeitpunkt finden kann.

Wenn du in der FreeCAD console folgendes Eingibst:
1
import sys
2
print(sys.path)

siehst du alle Ordner, in denen FreeCAD nach Python modulen sucht. Da 
sind unter anderem das FreeCAD bin und lib directory drin, aber auch 
dein in den Einstellugnen gewählten Macro-Ordner. In einen von denen 
kannst du pycollada rein installieren (oder kopieren)

Alternativ: Du kannst FreeCAD beim starten zusaätzliche python pfade 
übergeben, führe einfach in cmd aus:
1
FreeCAD -P"C:\mein\pfad\zu\collada"

von null plan (Gast)


Lesenswert?

Also als Info für alle helfenden Geister Yalu, Kaj, Karl Käfer, Stefam

es hatte gestern Nacht schon geklappt. Juchei! Ein wichtiger Hinweis war 
zunächst mal der Pfad zum Python Verzeichnis. Der war bei mir natürlich 
nach der Uminstallation zunächst zu v3.4 nicht mehr richtig (hatte ich 
vergessen anzupassen; die Installation hat mich natürlich nicht darauf 
hingewiesen. Ärgerlich.). Dann lief plötzlich 'import collada' erstmal 
unter Python 3.4 ohne Fehlermeldung. Nur lief damit trotzdem nicht das 
Modul in FreeCAD ohne Fehlermeldungen im Ausgabefenster. Mein Fehler war 
auch, ich wollte das collada-Verzeichnis aus Python 3.4 immer in den 
Verzeichnisbaum von FreeCAD kopieren (nur wohin genau, wenn man keinen 
Plan hat von Python?? ;)). Also zurück zu Python 2.6 und das WICHTIGSTE, 
fertig installierbare Exe-Pakete verwenden!! Also nicht Python 
überlassen sich alles mögliche herunterzuladen, um es zu kompilieren 
(sonst landet man bei Fortran Paketen und weiß der Geier was). Damit gab 
es nur Fehlermeldungen satt, trotz installiertem Visual C 2008 und 2010 
(wahrscheinlich auch dort hauptsächlich ein Pfadproblem).

Hier die Anleitung für Python unter Windows 7 (32-bit), die zum Erfolg 
führt

python-2.6.6.msi installieren, gibt es hier: 
https://www.python.org/ftp/python/

Python habe ich bei mir aktuell unter C:\work\Python26 installiert 
(wollte den sicheren Weg gehen zunächst mal nicht unter 'C:\Program 
Files' zu installieren). Danach den Pfad für Windows 7 unter 
Sytemsteuerung  Erweiterte Systemeinstellungen  Umgebungsvariablen / 
Systemvariablen / Path mit ';C:\work\Python26' angehängt. Anschließend 
zunächst NEUSTART!!

Zur Kontrolle, cmd im Windows Suchfeld eingeben, in Konsole 'path' 
tippen. Pfad am Ende vorhanden? Ja, dann alles OK.

Jetzt kommen die weiteren Pakete dran. Dazu auf die phantastische Seite 
von Christoph Gohlke gehen (rieeesen Dank an diesen guten Geist!! Schon 
die Installation zeigt, da hat sich einer wirklich Gedanken gemacht. 
Perfekt!)

http://www.lfd.uci.edu/~gohlke/pythonlibs/

numpy-MKL-1.8.1.win32-py2.6.exe
lxml-3.3.5.win32-py2.6.exe
python-dateutil-2.2.win32-py2.6.exe
unittest2-0.5.1.win32-py2.6.exe
setuptools-3.8.1.win32-py2.6.exe

Die Pakete werden alle im Python-Verzeichnisstrang 
C:\work\Python26\Lib\site-packages installiert.

Die Setuptools sind das Entscheidende, damit es einfach geht. Damit 
braucht man (nicht wie ich das andauernd tat) das collada Verzeichnis 
gar nicht selber manuell herunterladen. Python macht alles selber

Vom Windows 7 Startmenü mit cmd eine Konsole öffnen (als ganz normaler 
user; die python shell braucht es hier nicht). Ich bin dann direkt ins 
Verzeichnis 'C:\work\Python26\Scripts' gewechselt und habe ein

'easy_install.exe pycollada'

eingegeben. Dann .. ratter .. ratter .. Python lädt sich collada 
herunter und werkelt daran herum. Voila! Im Verzeichnis

C:\work\Python26\Lib\site-packages

befindet sich nun ein Ordner 'pycollada-0.4.1-py2.6.egg'. Darin sind 
zwei weitere Ordner 'collada' und 'EGG-INFO'.

Im collada Ordner finden sich nun endlich auch die übersetzten Dateien 
Bsp.
_init_.py
_init_.pyc
_main_.py
_main_.pyc

usw. (das hatte ich bisher so nicht im gleichen Ordner)

Wenn man jetzt ganz normal die Python Shell vom Windows Startmenü aus 
aufruft (es meldet sich der Python Interpreter 2.6.6) und ein

'import collada'

aufruft, passiert "nichts" und das ist genau richtig, heißt keine 
Fehlermelgung, Modul collada erfolgreich geladen.

Nun mal FreeCAD starten (bei mir 0.14 Build 3389 - die aktuellste 32-bit 
Version).

Auch dort muss in der Python Konsole am unteren Bildrand ein

'import collada'

eigegeben ohne Fehlermeldung ablaufen. Tut es auch. Ganz ohne, dass 
irgendetwas im FreeCAD Verzeichnisbaum hinzugefügt wurde. Die 
Python-Installation wirkt.

Ab jetzt kann das Austesten mit dem Import von collada Dateien unter 
FreeCAD dann starten. Wunder erwarte ich nicht, aber ich bin jedenfalls 
froh, dass nun erst mal alles wie erwartet läuft.

Mein Python 3.4 Verzeichnis habe ich im Ordner work belassen. Stört 
momentan nicht. Der Pfad verweißt ja auch v2.6.

Danke für die Hilfe! Manchmal sind es einfach scheinbar banale 
Kleinigkeiten die den Ausschlag geben am Ball zu bleiben. Hab extra mal 
alles so ausführlich wie möglich beschrieben. Hoffe es war nicht zu 
lang. ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.