[PYTHON] Es wurde ein Problem behoben, bei dem IIS keine Pyd-Datei in ein Django-Projekt importieren konnte

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.

Einführung

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.

Ausführung

OS/Software/Bibliotheksname Ausführung
Windows 10
IIS 10
Python 3.8.0
Django 2.2.8
Cython 0.29.15

Bei der Einstellung mit IIS

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

Bei der Einstellung auf Python

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

Es wurde ein Problem behoben, bei dem IIS keine Pyd-Datei in ein Django-Projekt importieren konnte
Erstellen Sie eine Datei, die in der Skriptsprache ausgeführt werden kann
Führen Sie eine Python-Datei mit relativem Import in PyCharm aus
So verweisen Sie auf statische Dateien in einem Django-Projekt
Starten Sie ein Django-Projekt
[Sublime Text 2] Führen Sie immer eine bestimmte Datei im Projekt aus
So importieren Sie Dateien in Python an eine beliebige Stelle
[Hinweis] Import von Dateien in das übergeordnete Verzeichnis in Python