[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