Auf Azure WebApps wird Python Standard auf dem Weg D:\Python27\
installiert, die keine Genehmigung für die Nutzer haben pip install <packages>
alle Schreiboperationen wie Befehl zu tun D:\home\
Python-Pakete zu libs
neben unter dem Pfad zu installieren.
Zuerst müssen Sie eine neue Python-Laufzeitumgebung unter dem Pfad D:\home
über Kudu-Site-Erweiterungen installieren, wie in der folgenden Abbildung dargestellt.
Dann können Sie das Python-Verzeichnis unter D:\home
sehen, die Sie den Schreibvorgang Berechtigung haben.
für Python-Pakete zu installieren Sie wollen, tun die wie unten Befehle pip
Werkzeug zur Installation.
D:\home> cd Python27
D:\home\Python27> curl -o get-pip.py https://bootstrap.pypa.io/get-pip.py
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1558k 100 1558k 0 0 5069k 0 --:--:-- --:--:-- --:--:-- 6546k
D:\home\Python27> python get-pip.py
Requirement already up-to-date: pip in d:\home\python27\lib\site-packages
Collecting wheel
Downloading wheel-0.30.0-py2.py3-none-any.whl (49kB)
Installing collected packages: wheel
Successfully installed wheel-0.30.0
Die nächste, können Sie wie unten diese Pakete über python -m pip install <package-name>
, wie python -m pip install django==1.11.5
installieren.
D:\home\Python27> python -m pip install django==1.11.5
Collecting django==1.11.5
Downloading Django-1.11.5-py2.py3-none-any.whl (6.9MB)
Collecting pytz (from django==1.11.5)
Downloading pytz-2017.2-py2.py3-none-any.whl (484kB)
Installing collected packages: pytz, django
Da das offical Dokument gesagt, für Troubleshooting - Package Installation
, wie weiter unten, wie für Paket Pillow
Notwendigkeit Compiler für C-Code.
Fehlerbehebung - Paket-Installation
Einige Pakete nicht installieren kann pip verwenden, wenn auf Azure laufen. Es kann einfach sein, dass das Paket nicht im Python-Paket-Index verfügbar ist. Möglicherweise ist ein Compiler erforderlich (auf dem Computer, auf dem die Webanwendung in Azure App Service ausgeführt wird, ist kein Compiler verfügbar).
Sie benötigen Paket Rad-Dateien von here über Befehl curl -o <wheel-file-name> <wheel-file-url>
auf Kudu CMD herunterladen und installieren Sie sie über den Befehl python -m pip install <wheel-file-name>
.
Nachdem alle Pakete installiert, können Sie Ihre django Webapp D:\home\site\wwwroot
, die Dateistruktur unter diesem Pfad sieht aus wie die offical sample hochladen können, die diese Verzeichnisse app
, <your-django-project-name>
erstellt von PTVs auf VS Schließlich 2017.
enthält, bitte Konfigurieren Sie Ihre web.config
Datei, damit Ihre App funktioniert.
<configuration>
<appSettings>
<add key="WSGI_HANDLER" value="<your-django-project-name>.wsgi.application"/>
<add key="PYTHONPATH" value="D:\home\site\wwwroot"/>
<add key="WSGI_LOG" value="D:\home\LogFiles\wfastcgi.log"/>
</appSettings>
<system.webServer>
<handlers>
<add name="PythonHandler" path="handler.fcgi" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\Python27\python.exe|D:\home\Python27\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
</handlers>
<rewrite>
<rules>
<rule name="Static Files" stopProcessing="true">
<conditions>
<add input="true" pattern="false" />
</conditions>
</rule>
<rule name="Configure Python" stopProcessing="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{REQUEST_URI}" pattern="^/static/.*" ignoreCase="true" negate="true" />
</conditions>
<action type="Rewrite" url="handler.fcgi/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Ich hoffe, es hilft. Jede Sorge, bitte zögern Sie nicht mich wissen zu lassen.
hey, jetzt habe ich "Die Seite kann nicht angezeigt werden, weil ein interner Serverfehler aufgetreten ist.", Nichts scheint Fehler beim Deployment –
@HariAnugrah Bitte beachten Sie die Protokolle im Pfad 'D: \ home \ LogFiles \ wfastcgi.log 'und aktualisieren Sie Ihren Beitrag zu diesem Problem. –
danke, ich löste die Probleme Das Problem ist, azurblaue App-Service verwenden virtualenv standardmäßig, so dass die Erfordernisse.txt-Paket automatisch auf Python in der virtualenv installiert ist ... so ich nur die deploy.cmd zu Python installieren Anforderungen zu bearbeiten (Verlängerung) ... vielen Dank –