[PYTHON] cython helloworld

J'ai utilisé cython pour la première fois. Je suis tombé sur le déplacement d'un simple module, je vais donc le laisser comme une note.

Environnement: Mac OS El Capitan

Procédure de construction

J'ai fait référence à Learning Cython Programming --Second Edition. Le code est ici.

Dans le livre, j'ai créé un fichier .pyx, mais j'ai essayé d'utiliser un fichier .py normal.

cython -o helloworld.c helloworld.py

Puis compilez.

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`

Lorsque j'ai importé le fichier .so créé de cette manière, une erreur de segmentation s'est produite. Un problème a été signalé sur github pour ce problème, et j'ai changé les options passées à gcc et l'erreur ne s'est pas produite.

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`

Aussi, dans documentation cython, distutils La procédure d'utilisation est décrite et j'ai pensé que c'était plus simple.

Symbol not found: _PyUnicodeUCS4_Compare

Maintenant que la pratique est terminée, j'ai construit le module que je cible avec cython. Quand j'ai essayé de l'utiliser, j'ai eu une erreur ImportError appelée Symbol not found: _PyUnicodeUCS4_Compare.

Reportez-vous à cet article, supprimez python 2.7.12 installé avec virtualenv et essayez de l'exécuter avec python sur le système Mac. J'ai fait.

Est-ce une question de quel module se lier au moment de la construction? Contrairement au python ordinaire, cython est gênant.

Recommended Posts

cython helloworld
Bonjour le monde
Pymacs helloworld
web2py Remarque: Bonjour le monde
bonjour le monde avec ctypes
Tutoriel RabbitMQ 1 ("Hello World!")
Bonjour le monde avec Docker
Hello World avec Django
Bonjour le monde sur flacon
Dessinez bonjour le monde avec mod_wsgi
Bonjour le monde avec Flask + Hamlish
Jusqu'à bonjour le monde avec zappa
Hello World en langue GO
Hello World (débutant) avec Django
Python commençant par Hello world!
Faisons "Hello World" en 40 langues! !!
Introduction à TensorFlow - Hello World Edition
Bonjour tout le monde! (Chaîne de blocs viables minimum)
[Note] Sortie Hello world avec python
cout << "Hello, World! \ N" en python
Hello World avec Flask [Mémo approprié]
Code: 2 "Hello World" dans "Choregraphe-Python script"
Hello World! Par QPython avec Braincrash
Python #Hello World pour les super débutants
Introduction à Ansible Partie 1 Hello World !! '
[Python] Application Web à partir de 0! Pratique (2) -Bonjour le monde-
Hello World et détection de visage avec opencv-python 4.2
Bonjour le monde avec Raspberry Pi + Minecraft Pi Edition
Comment créer Hello, World avec #Nix
Bonjour tout le monde pas localhost à Django
Tutoriel Flask (de l'installation à Hello World)
Comment afficher Hello World en python
Hello World! Par QPython avec Brainfu * k
Hello World et détection de visage avec OpenCV 4.3 + Python
Hello World avec gRPC / go dans l'environnement Docker
Session d'étude Python 1 personne: 1ère "Exécution de Python ~" Hello world ""
De la création de l'environnement Kivy à l'affichage de Hello World
Dites bonjour au monde avec Python avec IntelliJ
Hello World avec nginx + uwsgi + python sur EC2
Flask Hello World ne peut pas être affiché dans VPS
Créez une application Hello World avec un seul fichier avec django
Premier python ① Construction de l'environnement avec pythonbrew & Hello World !!
Créer un serveur "Hello World" (HTTP) dans Tornado
Pour moi en tant que débutant Django (3) - Bonjour tout le monde! ---