TL;DR https://qrunch.net/@sugurunatsuno/entries/wF9aXWZ3x3PBarLR Fügen Sie das Verzeichnis mit der Pyd-Datei, die Sie lesen möchten, zu PYTHONPATH hinzu.
Ich kann die pyd-Datei nicht laden, wenn ich ein Django-Projekt mit IIS ausführe. Infolgedessen gab es in der Umgebungsvariablen PYTHONPATH kein Verzeichnis, das auf die pyd-Datei verweisen könnte. Ich konnte die pyd-Datei importieren, als ich sie auf Djangos Runserver ausführte. Es wird davon ausgegangen, dass IIS nur zum Importieren von Pyd-Dateien funktioniert.
OS/Software/Bibliotheksname | Ausführung |
---|---|
Windows | 10 |
IIS | 10 |
Python | 3.8.0 |
Django | 2.2.8 |
Cython | 0.29.15 |
Es muss nur in IIS oder Python festgelegt werden. In IIS können Umgebungsvariablen mit web.config usw. festgelegt werden. Sie können mehrere Pfade festlegen, die durch ein Semikolon getrennt sind. Fügen Sie daher den Pfad hinzu, in dem sich die pyd-Datei befindet.
<add key="PYTHONPATH" value="project_path;pyd_absolute_path" />
Das Importieren der pyd-Datei bezieht sich in diesem Fall auf PYTHONPATH, daher ist es kein relativer Pfad von der aufzurufenden py-Datei.
#Kann nicht durch relativen Pfad referenziert werden
# from pyd_relative_path import target
#Da es in PYTHONPATH eingestellt ist, kann es so aufgerufen werden, wie es ist
import target
Es muss nur in IIS oder Python festgelegt werden. Umgebungsvariablen können auch in Python festgelegt werden, sodass Sie das Verzeichnis festlegen können, in dem sich die pyd-Datei befindet.
import os
import sys
current_dir = os.path.abspath(os.path.dirname(__file__))
sys.path += [os.path.join(current_dir, 'pyd_relative_path')]
import target
Recommended Posts