2017-09-27 4 views
0

andernfalls es 1 Monat und ich kann immer noch nicht herausfinden, was mit mir oder App-Dienst in azurazur App Service django bereitstellen hält

falsch verwenden ich Python 2.7 und django 1.11.3, mit diesem requirements.txt

beautifulsoup4 == 4.6.0 zertifi == 2017.7.27.1 chardet == 3.0.4 Django == 1.11.5 IDNA == 2.6 olefile == 0,44 Kissen == 4.2.1 pytz == 2017.2 Anfragen == 2.18.4 urllib3 == 1,22

, wenn ich mit Local Git Repository zu Azure Web Service (python2.7, Windows) bereitstellen wird es scheint, nicht den Anforderungen zu installieren

ich Rad versucht, aber es funktioniert nicht alles tun, und über scm Power ausgefallen ich eine der Anforderungen, beispielsweise zu tun, installieren:

Python -m pip installieren django

geben mir keine Erlaubnis Fehler

Antwort

0

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.

enter image description here

Dann können Sie das Python-Verzeichnis unter D:\home sehen, die Sie den Schreibvorgang Berechtigung haben.

enter image description here

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.

+0

hey, jetzt habe ich "Die Seite kann nicht angezeigt werden, weil ein interner Serverfehler aufgetreten ist.", Nichts scheint Fehler beim Deployment –

+0

@HariAnugrah Bitte beachten Sie die Protokolle im Pfad 'D: \ home \ LogFiles \ wfastcgi.log 'und aktualisieren Sie Ihren Beitrag zu diesem Problem. –

+0

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 –

Verwandte Themen