[PYTHON] Cython Helloworld

Ich habe Cython zum ersten Mal benutzt. Ich bin viel gestolpert, indem ich ein einfaches Modul verschoben habe, also lasse ich es als Memo.

Umgebung: Mac OS El Capitan

Erstellungsprozedur

Ich bezog mich auf Learning Cython Programming - Second Edition. Der Code lautet hier.

In dem Buch habe ich eine .pyx-Datei erstellt, aber ich habe versucht, eine normale .py-Datei zu verwenden.

cython -o helloworld.c helloworld.py

Dann kompilieren.

gcc -g -O2 -fpic -c helloworld.c -o helloworld.o `python-config --cflags`
gcc -g -O2 -shared -o helloworld.so helloworld.o `python-config --libs`

Beim Importieren der auf diese Weise erstellten .so-Datei ist ein Segmentierungsfehler aufgetreten. Für dieses Problem wurde auf github ein Problem gemeldet. Ich habe die an gcc übergebenen Optionen geändert und der Fehler ist nicht aufgetreten.

gcc -g -O2 -fpic -c helloworld.c -o helloworld.o `python-config --cflags`
gcc -g -O2 -shared -o helloworld.so helloworld.o `python-config --ldflags`

Auch in Cython-Dokumentation distutils Das Verfahren zur Verwendung wird beschrieben, und ich fand es einfacher.

Symbol not found: _PyUnicodeUCS4_Compare

Nachdem die Übung beendet ist, habe ich das Modul, auf das ich ziele, mit Cython erstellt. Als ich es versuchte, bekam ich einen ImportError-Fehler namens Symbol nicht gefunden: _PyUnicodeUCS4_Compare.

Lesen Sie diesen Artikel, löschen Sie Python 2.7.12, das mit virtualenv installiert wurde, und versuchen Sie, es mit Python auf dem Mac-System auszuführen. Ich tat.

Ist es eine Frage des Moduls, mit dem zum Zeitpunkt der Erstellung verknüpft werden soll? Im Gegensatz zu einfachem Python ist Cython problematisch.

Recommended Posts

Cython Helloworld
Hallo Welt
Pymacs helloworld
web2py Hinweis: Hallo Welt
Hallo Welt mit ctypes
RabbitMQ Tutorial 1 ("Hallo Welt!")
Hallo, Welt mit Docker
Hallo Welt mit Django
Hallo Welt auf Flasche
Zeichne Hallo Welt mit mod_wsgi
Hallo Welt mit Flask + Hamlish
Bis hallo Welt mit Zappa
Hallo Welt in GO-Sprache
Hallo Welt (Anfänger) mit Django
Python beginnend mit Hallo Welt!
Lass uns "Hello World" in 40 Sprachen machen! !!
Einführung in TensorFlow - Hallo World Edition
Hallo Welt! (Minimum Viable Block Chain)
[Hinweis] Hallo Weltausgabe mit Python
cout << "Hallo Welt! \ N" in Python
Hallo Welt mit Flasche [Passendes Memo]
Code: 2 "Hello World" im "Choregraphe-Python-Skript"
Hallo Welt! Von QPython mit Braincrash
Python #Hello World für Super-Anfänger
Einführung in Ansible Teil 1'Hallo Welt !! '
[Python] Webanwendung von 0! Hands-on (2) -Hallo Welt-
Hallo Welt- und Gesichtserkennung mit opencv-python 4.2
Hallo Welt mit Raspberry Pi + Minecraft Pi Edition
Wie man Hello, World mit #Nix baut
Hallo Welt nicht localhost in Django
Flask Tutorial (von der Installation bis zur Hallo Welt)
So zeigen Sie Hello World in Python an
Hallo Welt! Von QPython mit Brainfu * k
Hallo Welt- und Gesichtserkennung mit OpenCV 4.3 + Python
Hallo Welt mit gRPC / go in Docker-Umgebung
Python 1-Personen-Lernsitzung: 1. "Python ausführen ~" Hallo Welt ""
Vom Aufbau der Kivy-Umgebung bis zur Anzeige von Hello World
Begrüßen Sie die Welt mit Python mit IntelliJ
Hallo Welt mit Nginx + Uwsgi + Python auf EC2
Flask Hello World kann nicht in VPS angezeigt werden
Erstellen Sie mit Django eine Hallo-Welt-Anwendung mit nur einer Datei
Erste Python ① Umgebungskonstruktion mit Pythonbrew & Hello World !!
Erstellen Sie in Tornado einen HTTP-Server (Hello World)
Für mich als Django-Anfänger (3) - Hallo Welt! --- ---.