Rufen Sie Python von Nim mit Nimpy auf

Überblick

Als Voraussetzung. Ein Entwicklungsprojekt für Nim wurde gestartet, aber da es erforderlich war, die statistische Verarbeitung einfach zu handhaben, bestand eine Nachfrage nach gelegentlicher Verwendung von Python, sodass es eine technische Anforderung gab, die Nimpy nicht verwalten konnte. Es war jedoch sehr schmerzhaft, also habe ich es zusammengefasst. Ich hoffe, es hilft denen, die gekämpft haben. Es ist ein Artikel namens.

Was ist flink

Native language integration with Python has never been easier!

Eine Bibliothek mit einer Schnittstelle, über die Sie Python von nim oder nim von Python aus aufrufen können. Ich habe viele Fälle gefunden, in denen ich nim von Python aus aufgerufen habe, aber ich hatte kein Beispiel für das Aufrufen von Python von nim, also habe ich es versucht. Oder besser gesagt, ich brauchte es, also habe ich es versucht. Anscheinend kann man es mit pyImport aufrufen.

pyImport nimpy kann das standardmäßig installierte Python-Modul wie folgt verwenden: nimble install nimpy. (Aus irgendeinem Grund ist numpy als Standardmodul auf dem Mac enthalten.)

pyImport("numpy")

Selbst wenn Sie eine Bibliothek wie sklern verwenden möchten, können Sie sie nicht verwenden, da sie die Standard-Python des Betriebssystems verwendet. In einem solchen Fall bleibt keine andere Wahl, als es in den Python-Pfad zu setzen. Dafür gibt es eine Methode.

import nimpy
import nimpy/py_lib as pyLib
pyLib.pyInitLibPath("python path")
discard pyBuiltinsModule()

Sie können die aufzurufende Python angeben, indem Sie mit dieser Syntax aufrufen. Dazu müssen Sie jedoch den Lipython-Pfad angeben. Wenn Sie den Nimpy-Code lesen, müssen Sie anscheinend die von dylib erzeugte Python angeben, um sie hier zu lesen. In der von pyenv installierten Umgebung wurde kein libpython in Form von "libpython ** m.dylib" generiert. Zuerst musste ich es generieren, also führen Sie Folgendes aus.

CONFIGURE_OPTS="--enable-shared" pyenv install {version}

Dann wird eine Datei wie "libpython ** m.dylib" generiert, also setzen Sie den Pfad auf "pyLib.pyInitLibPath" Wenn in angegeben, kann das Verhalten des angeforderten Python-Moduls und des von pip installierten Moduls verwendet werden.

Es wurde möglicherweise ohne Verzögerung gestartet, wenn es in einer Docker-Umgebung ausgeführt wurde, aber es wurde durch die lokale Ausführung verstopft, also hoffe ich, dass es ein Wissen dafür sein wird!

Zusammenfassung

Ich fand Nim gut.

Recommended Posts

Rufen Sie Python von Nim mit Nimpy auf
Hauptkomponentenanalyse mit Python von nim mit nimpy
Rufen Sie CPLEX von Python aus auf (DO cplex)
Rufen Sie die API mit python3 auf.
Mit Skype benachrichtigen Sie mit Skype von Python!
Lerne Nim mit Python (ab Anfang des Jahres).
Rufen Sie Matlab von Python zur Optimierung auf
Verwenden von Rstan aus Python mit PypeR
Installieren Sie Python von der Quelle mit Ansible
Rufen Sie popcount von Ruby / Python / C # auf
Führen Sie Aprili von Python auf Orange aus
Laden Sie fbx aus Python mitinema4d
Rufen Sie C / C ++ von Python auf dem Mac auf
Rufen Sie die c-Sprache von Python aus auf (python.h)
Sammeln von Informationen von Twitter mit Python (Twitter API)
Empfangen Sie Textdaten von MySQL mit Python
Holen Sie sich HTML von Element mit Python-Selen
[Hinweis] Mit Python Daten von PostgreSQL abrufen
Spielen Sie eine Audiodatei von Python mit Interrupt ab
Erstellen Sie mit python3 eine Wortwolke aus Ihrem Tweet
Tweet von Python mit Twitter Developer + Tweepy
Geschäftseffizienz von Grund auf mit Python
Mit openssl verschlüsselte Dateien werden mit openssl aus Python entschlüsselt
Bearbeiten von Azure CosmosDB aus Python Part.2
Bildaufnahme von der Kamera mit Python + OpenCV
Erste Schritte mit Dynamo von Python Boto
Verwenden von C ++ - Funktionen aus Python mit pybind11
Rufen Sie APIGateWay mit APIKey in Python-Anforderungen auf
Aufrufbefehle von Python (Windows Edition)
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go
In Python integrieren
SQL zu SQL
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Sammeln von Informationen von Twitter mit Python (Umgebungskonstruktion)
CSV-Ausgabe der Google-Suche mit [Python]! 【Einfach】
Wickeln Sie C mit Cython für Python ein
~ Tipps für Python-Anfänger mit Liebe von Pythonista ① ~
Stellen Sie OpenCV3 in Python3 zur Verfügung, das mit pyenv installiert wurde
Bildverarbeitung von Grund auf mit Python (4) Konturextraktion
Generieren Sie mit Python eine Einfügeanweisung aus CSV.
Rufen Sie die Python-Bibliothek zur Textnormalisierung in MATLAB auf
Erstellen Sie mit Python einen Entscheidungsbaum von 0 (1. Übersicht)
Rufen Sie Python-Skripte aus Embedded Python in C ++ / C ++ auf
Installieren Sie vim7.3 (+ python2.4) von der Quelle (kompatibel mit Gundo.vim)
[Python] Umgang mit mehreren Aufruffehlern in ray.init
Wrap C ++ mit Cython zur Verwendung von Python