Numpy 1.7.1 auf Ubuntu

Probleme bei der Installation?
Antworten
audacity363
User
Beiträge: 83
Registriert: Dienstag 6. August 2013, 18:59

Guten Tag
ich bräuchte Numpy 1.7.1 auf meinem Ubuntu System, habe mir also die Source heruntergeladen und die "install.txt" durchgelesen. Danach die restliche Software (python-dev) installiert, bin ins Numpy Verzeichnis gewechselt und habe dort "python3 setup.py build --fcompiler=gnu" ausgeführt.
Nur dann kommt die Fehlermeldung: SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel.

Python Version: 3.3.1
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Warum willst du das überhaupt selber installieren, das bekommst du doch ohne Probleme über den Paketmanger rein. Ansonsten vermute ich einfach mal, dass du nicht python3-dev installierst hast.
Das Leben ist wie ein Tennisball.
BlackJack

@audacity363: Wenn Du sagst Du hast `python-dev` installiert, meinst Du dann tatsächlich `python-dev` oder `python3-dev`? Wenn Du für Python 3 übersetzen willst, dann musst Du auch die dafür passenden Header installieren.

Python 2 wäre keine Option? Dann könnte man Numpy einfach über die Paketverwaltung installieren.
audacity363
User
Beiträge: 83
Registriert: Dienstag 6. August 2013, 18:59

@EyDu
Jap hat geholfen. Habe gedacht das er immer die aktuellste Version herunterläd.

@Blackjack
Leider nein. Brauche das ganze für schon ein fertiges Projekt welches ich unter Windows in Python3 umgeschrieben habe. Einfach weil ich finde das Python3 etwas besser läuft als 2.
BlackJack

@audacity363: Der Paketmanager lädt ja auch immer die aktuellste Version eines Pakets für die jeweilige Distributionsversion herunter. Python 2.7 ist eine aktuelle Python-Version! Und das ist bei vielen Linux-Distributionen auch die Standardversion wo sich systemrelevante Skripte drauf verlassen. Wenn man da also einfach Python 3 unter dem Namen ``python`` installiert zerschiesst man sich unter Umständen Teile vom System. Darum haben die Python 3 Pakete einen anderen Namen und ersetzen auch das Python-Binary nicht sondern eines unter dem Namen ``python3``.

Was läuft denn bei Python 3 besser als bei 2? Es sind auf jeden Fall schon mal weniger Pakete über die Paketverwaltung installierbar und einige sind selbst ohne Paketverwaltung nicht verwendbar, weil nicht auf Python 3 portiert. Das wird alles noch eine Weile dauern bis Python 3 in Bezug auf Module und Pakete ausserhalb der Standardbibliothek wirklich so einfach und vollständig läuft wie Python 2 das jetzt schon tut. Die wenigen Unterschiede in Syntax und Standardbibliothek wiegen die Umstände die man sonst so hat IMHO nicht auf.
audacity363
User
Beiträge: 83
Registriert: Dienstag 6. August 2013, 18:59

Also ich habe jetzt immer bei Sockets gemerkt. Kann natürlich auch an mir liegen, aber wenn ich diese in Python 2 schreibe schmieren sie mir immer nach so 12 Std Laufzeit und regelmäßigen Zugriff ab.
Also jetzt geht es um das Projekt "Pyfaces" welches jetzt nur auf Konsolen Ebene ablaufen soll, und nicht mit Grafischer Oberfläche. Beim umschreiben habe ich mir gedacht, dass ich das ganze auch auf Python3 portieren kann
BlackJack

@audacity363: Das mit den Sockets liegt mit ziemlicher Sicherheit nicht an der Python-Version weil Python da nicht wirklich viel mit zu tun hat. Das bietet in allen Versionen eine recht dünne Schicht über die BSD-Socket-API. Und auch vor Python 3 wurde schon Python im Netzwerkbereich für Server und Clients eingesetzt, also wäre das sehr eigenartig wenn da ein Fehler im Socket-Code wäre den ausser Dir bisher noch niemand bemerkt hat.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Aber noch einmal: warum installierst du es überhaupt per Hand? python3-numpy existiert.
Das Leben ist wie ein Tennisball.
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

Kannst du das nicht einfach mit pip installieren? Das geht doch supereinfach.

@BlackJack:
Irgendwie versteh ich nicht, wieso sich so oft zwangshaft an Python 2 geklemmt wird. Wäre es nicht irgendwann sinnvoll, auf aktuellere Versionen umzusteigen? Python 3 gibt es doch jetzt schon seit 3 Jahren (oder so). Das sollte doch eigentlich mal für den Umstieg reichen.
Wenn es ein bestimmtes Paket partout nicht für Python 3 gibt, naja dann ok. Aber selbst dann finde ich, dass man eher mal die Autoren ermuntigen sollte, das P3-kompatibel zu machen. Wie gesagt, P3 gibt es seit 3 Jahren, mittlerweile sollte doch mal alles kompatibel sein.

Irgendwie jetzt noch groß Python 2 zu lernen scheint mir irgendwie unnütz zu sein. Oder soll man die Entwicklung von P3 gleich wieder komplett einstellen weil es niemand benutzen möchte?
BlackJack

@Hellstorm: Warum ist eine höhere Versionsnummer und die Anzahl der Jahre wie lange es die schon gibt ein Grund der automatisch reicht um umzusteigen? Viel wichtiger ist doch a) welchen Aufwand es macht umzusteigen, b) ob es überhaupt möglich ist mit allem umzusteigen, und c) was einem der Umstieg dann an Vorteilen bringt. Ich verwende viel Python privat und im Job, also macht a) viel Aufwand weil auf vielen Rechnern Python 3 installiert werden müsste + die ganzen Bibliotheken *sofern es sie gibt* und ich müsste all den eigenen Quelltext auf Python 3 portieren und testen und danach Bugfixen was man dabei nicht gefunden hat. Und was bringt es? Ich hätte viel Arbeit und am Ende eine um eins höhere Major-Versionsnummer. Das kann nicht ausreichend sein. Ich sehe ich keinen Vorteil bei Python 3 den ich jetzt unbedingt haben müsste. Dazu ist zu wenig zwischen den Versionen passiert. Und ein paar Sachen die passiert sind, gefallen mir noch nicht einmal.

Im Job habe ich zusätzlich das Problem das einiges auf Systemen laufen muss, die vorsichtig gesagt sehr konservativ sind. Da müsste ich dann entweder genau schauen welchen Code ich noch bei Python 2 lassen muss. Und habe dann Code für beide Versionen zu pflegen.

Python 2.7 ist eine *aktuelle* Python-Version. Die ist bei vielen Linux-Distributionen noch das Standardpython und es gibt in der Paketverwaltung mehr Pakete als für Python 3.x. Von der Seite gibt es also auch keinen Druck. Wenn das aktuelle stabile Debian auf Python 3 umsteigt, bleibt immer noch genug Zeit für einen Umstieg. *Dann* kann man auch davon ausgehen das entweder alle wichtigen Bibliotheken portiert wurden, oder man sich nach Alternativen umschauen muss.
Antworten