[python-users] Performance-Optimierung einiger Berechnungen

Christopher Arndt chris at chrisarndt.de
Fr Dez 6 12:21:30 CET 2013


Am 06.12.2013 10:00, schrieb marian:
> 1. Nach "python setup.py build" liegt die .so-Datei nicht automatisch im
> Package-Verzeichnis, sondern unter build/lib.mac… Ich nehme an, das ist
> normal?

Ja, das ist normal. Das ist auch mit reinem distutils so, nicht nur mit 
setuptools. Setuptools habe ich hinzugefügt, damit "python setup.py 
develop" möglich ist. Siehe:

https://pythonhosted.org/setuptools/setuptools.html#development-mode

> 2. Kann man die Dateien setuptools-1.3.2-py2.7.egg und
> setuptools-1.3.2.tar.gz, die automatisch im Verzeichnis abgelegt werden,
> auch beim build automatisch wieder löschen lassen?

Nein, aber man kann einfach vor der Installation "pip install -U 
setuptools" ausführen, dann wird die setuptools-Installation 
aktualisiert und nicht mehr die aktuelle Version bei der Installation 
deines Pakets ins aktuelle Verzeichnis heruntergeladen.

Man kann "ez_setup.py" auch entfernen und direkt "from setuptools import 
setup" in "setup.py" verwenden und sich darauf verlassen, dass der User 
setuptools installiert hat. Ich benutze nur diese Form in meinen 
Projekten, weil ich sicher sein will, dass eine aktuelle Version von 
setuptools verwendet wird, denn die Versionen vor 1.3.2 hatten einen Bug 
im Zusammenhang mit SVN.Projekten.

> AttributeError: 'module' object has no attribute 'damping'
>
> Ich kann mir nicht erklären

Ich habe einige Funktionen im Cython-Code als "cdef" definiert. Dadurch 
könne sie nur von Cython-Code aus aufgerufen werden (und sind ggf. etwas 
schneller, weil man den Typ des Returnwerts deklarieren kann). Du kann 
versuchen, sie als "cpdef" zu definieren.

Siehe 
http://docs.cython.org/src/userguide/language_basics.html#python-functions-vs-c-functions


Chris



Mehr Informationen über die Mailingliste python-users