Heim > Backend-Entwicklung > Python-Tutorial > Teilen Sie Ihre Erfahrungen mit der Installation und Nutzung von Cython

Teilen Sie Ihre Erfahrungen mit der Installation und Nutzung von Cython

Y2J
Freigeben: 2017-04-17 17:05:47
Original
4807 Leute haben es durchsucht

1. Was ist Cython?

Es ist ein Tool zum schnellen Generieren von Python Erweiterungsmodul (extention module) Tool

Seine Syntax ist eine Mischung aus Python-Sprachsyntax und C-Sprache-Syntax

er Es ist einfacher, Python-Erweiterungsmodule zu schreiben als Swig

Vielleicht werden Sie sagen, dass Swig Erweiterungsmodule direkt über C-Header-Dateien generieren kann, aber Swig unterstützt keine Rückruffunktionen sehr gut,

Außerdem müssen Sie bei Verwendung von swig in vielen Fällen zusätzlichen Code schreiben, um die Eingabeparameter in PythonObjekte umzuwandeln und die Ausgabe in Python-Objekte umzuwandeln, beispielsweise wenn Sie kapseln Eine C-Funktion Wenn die Parameter Eingabe und Ausgabe sind und in den Parametern der C-Funktion eine Rückruffunktion vorhanden ist,

, und in Cython, sind die Typen in C, wie z. B. int, float , long, char* usw. werden bei Bedarf automatisch in Python-Objekte konvertiert oder von Python-Objekten in C-Typen konvertiert. Wenn die Konvertierung fehlschlägt, wird eine Ausnahme ausgelöst Das Erstaunlichste an Cython

Darüber hinaus bietet Cython auch eine gute Unterstützung für Rückruffunktionen

Kurz gesagt, wenn Sie Python-Erweiterungsmodule schreiben müssen, dann ist Cython wirklich ein gutes Werkzeug

2. In Cython konvertieren

Cython wird unter

Linux installiert: 1. Quellpaketinstallation:

2. Installation des Pip-Pakets

[blueelwang@pythontab ~]$ wget https://pypi.python.org/packages/b7/67/7e2a817f9e9c773ee3995c1e15204f5d01c8da71882016cac10342ef031b/Cython-0.25.2.tar.gz
[blueelwang@pythontab ~]$ tar xzvf Cython-0.25.2.tar.gz
[blueelwang@pythontab ~]$ cd Cython-0.25.2
[blueelwang@pythontab ~]$ python setup.py install
Nach dem Login kopieren

3. Installation unter Ubuntu

[blueelwang@pythontab ~]$ sudo pip install Cython --install-option="--no-cython-compile"
Nach dem Login kopieren

Geben Sie nach der Installation Cython ein, um zu überprüfen, ob die Installation erfolgreich ist

[blueelwang@pythontab ~]$ sudo apt-get install cython
Nach dem Login kopieren
3. Verwenden Sie

1. Schreiben Sie ein Cython-Programm mit der Erweiterung .pyx

2. Schreiben Sie das Python-Programm setup.py

def say_hello_to(name):
    print("Hello %s!" % name)
Nach dem Login kopieren
das Programm hello.pyx in hello.c kompilieren und in eine Datei kompilieren

3. Führen Sie das Python-Programm aus

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
ext_modules = [Extension("hello", ["hello.pyx"])]
setup(
  name = 'Hello world app',
  cmdclass = {'build_ext': build_ext},
  ext_modules = ext_modules
)
Nach dem Login kopieren

. hello.c und hello.so (mit Py

Object
[blueelwang@pythontab ~]$ python setup.py build_ext --inplace
Nach dem Login kopieren
* gekapselter Datei)

4. Verwenden Sie Python, um hello.so aufzurufen, und die aufrufende Datei ist test.py

Der Hauptzweck von Cython besteht darin: Python-Aufrufe zu vereinfachen. Der umständliche Kapselungsprozess von Sprachprogrammen verbessert die Ausführungsgeschwindigkeit von Python-Code (die Ausführungsgeschwindigkeit der C-Sprache ist schneller als die von Python)

Das obige ist der detaillierte Inhalt vonTeilen Sie Ihre Erfahrungen mit der Installation und Nutzung von Cython. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage