TL;DR https://qrunch.net/@sugurunatsuno/entries/wF9aXWZ3x3PBarLR Ajoutez le répertoire contenant le fichier pyd que vous souhaitez lire dans PYTHONPATH.
Le fichier pyd ne peut plus être chargé lors de l'exécution d'un projet Django à l'aide d'IIS. Par conséquent, il n'y avait pas de répertoire dans la variable d'environnement PYTHONPATH pouvant faire référence au fichier pyd. Lors de l'exécution sur le serveur d'exécution de Django, le fichier pyd pouvait être importé. Il est supposé qu'IIS fonctionnera sauf pour l'importation de fichiers pyd.
OS/Logiciel/Nom de la bibliothèque | version |
---|---|
Windows | 10 |
IIS | 10 |
Python | 3.8.0 |
Django | 2.2.8 |
Cython | 0.29.15 |
Il ne doit être défini que dans IIS ou Python. Dans IIS, les variables d'environnement peuvent être définies avec web.config, etc. Vous pouvez définir plusieurs chemins séparés par un point-virgule, ajoutez donc le chemin où se trouve le fichier pyd.
<add key="PYTHONPATH" value="project_path;pyd_absolute_path" />
Dans ce cas, l'importation du fichier pyd fait référence à PYTHONPATH, il ne s'agit donc pas d'un chemin relatif du fichier py à appeler.
#Ne peut pas être référencé par un chemin relatif
# from pyd_relative_path import target
#Puisqu'il est défini dans PYTHONPATH, il peut être appelé tel quel
import target
Il ne doit être défini que dans IIS ou Python. Les variables d'environnement peuvent également être définies sur python, vous pouvez donc définir le répertoire où se trouve le fichier pyd.
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