[PYTHON] Utilisez les load_extensions de sqlite avec Pyramid

Dans SQLite, il est nécessaire d'utiliser une librairie d'extension pour utiliser des fonctions mathématiques et des fonctions statistiques, mais il a été un peu pensé pour l'utiliser depuis Pyramid.

Introduction de l'expansion

Téléchargez extension-functions.c à partir de l'URL suivante.

gcc -fPIC -shared /home/takaki/Desktop/extension-functions.c -o libsqlitefunctions.so

Si vous pouvez démarrer sqlite et effectuer les opérations suivantes, la bibliothèque d'extension est OK.

$ sqlite3 
SQLite version 3.13.0 2016-05-18 10:57:30
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> select load_extension('./libsqlitefunctions.so');

sqlite> select sin(3.14/2);
0.999999682931835
sqlite> 

Appel de Pyramid

Apportez les modifications suivantes à partir du fichier de modèle normal.

model/__init__.py


def get_session_factory(engine):
    @event.listens_for(engine, "connect")
    def connect(dbapi_connection, connection_rec):
        dbapi_connection.enable_load_extension(True)
        dbapi_connection.execute("SELECT load_extension('{0}');".format(FULL_PATH_OF_LIB))
    factory = sessionmaker()
    factory.configure(bind=engine)
    return factory

Recommended Posts

Utilisez les load_extensions de sqlite avec Pyramid
Rediriger avec Pyramid
Jouez avec Pyramid
Utilisez mecab-ipadic-neologd avec igo-python
Utiliser ansible avec cygwin
Utiliser pipdeptree avec virtualenv
[Python] Utiliser JSON avec Python
Utilisez Mock avec pytest
Utiliser l'indicateur avec pd.merge
Utiliser Gentelella avec Django
Utiliser mecab avec Python 3
Utiliser tensorboard avec Chainer
Utiliser DynamoDB avec Python
Utiliser pip avec MSYS2
Utilisez Python 3.8 avec Anaconda
Utiliser les droits d'auteur avec Spacemacs
Utiliser python avec docker
Utiliser TypeScript avec django-compresseur
Utilisez LESS avec Django
Facile à utiliser SQLite3
Utiliser MySQL avec Django
Utiliser Enum avec SQLAlchemy
Utiliser tensorboard avec NNabla
Utiliser le GPS avec Edison
Utilisez nim avec Jupyter
Utilisez Cursur qui se ferme automatiquement avec sqlite3 en Python
Utiliser l'API Trello avec python
Utiliser la mémoire partagée avec une bibliothèque partagée
Utiliser des balises personnalisées avec PyYAML
Utiliser des graphiques directionnels avec networkx
Utiliser TensorFlow avec Intellij IDEA
Utiliser l'API Twitter avec Python
Utiliser pip avec Jupyter Notebook
Utiliser DATE_FORMAT avec le filtre SQLAlchemy
Utiliser TUN / TAP avec Python
Utiliser les polices Windows 10 avec WSL
Utilisation du chainer avec Jetson TK1
Utiliser SSL avec Celery + Redis
Utiliser Cython avec Jupyter Notebook
Utilisez Maxout + CNN avec Pylearn2
Utilisez WDC-433SU2M2 avec Manjaro Linux
Utilisez OpenBLAS avec numpy, scipy
[Python] [SQLite3] Exploiter SQLite avec Python (basique)
Utiliser l'API subsonique avec python3
Utilisation de Sonicwall NetExtener avec Systemd
Utilisez prefetch_related commodément avec Django
Utiliser l'interpréteur AWS avec Pycharm
Utilisation de Bokeh avec IPython Notebook
Utiliser une plage de type Python avec Rust
Utiliser MLflow avec Databricks ④ --Call model -
Lorsqu'une erreur _sqlite3 se produit dans la couverture
Utiliser pyright avec CentOS7, emacs lsp-mode
Python: comment utiliser async avec
Utilisation de la base de données SQL d'Azure avec SQL Alchemy
Utiliser la caméra Point Grey avec Python (PyCapture2)
Utilisez PX-S1UD / PX-Q1UD avec Jetson nano
Utilisez la fonction de prévisualisation avec aws-cli
Gérez facilement les listes avec python + sqlite3
Comment utiliser SQLite en Python
Pour utiliser virtualenv avec PowerShell