Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  12 7984
Det fungerer absolutt ikke som jeg håpte dette med WSGI, det er en feil - uansett hva jeg gjør. Legger nå ved script-filen og errorbeskjeden. Når jeg kjører appen som flask run, da fungerer det, men den er ikke i kontakt via domenet mitt.
Om noen undrer seg hvordan selve "opplegget" ser ut viser jeg til denne linken: https://codeshack.io/login-system-python-flask-mysql/ og at jeg bruker Apache2 på ubuntuserver. Alt fungerer når jeg kjører den flask-run som sagt, men ikke via wsgi.

WSGI fil:

Kode

import sys
if sys.version_info[0]<3:
 raise Exception("Python3 required! Current (wrong) version: '%s'" % sys.version_info)
sys.path.insert(0, '/var/www/html/pythonlogin/')
from main import app as application
Errorbeskjeden er:

Kode

Fri Mar 26 21:38:36.632202 2021] [mpm_prefork:notice] [pid 7865] AH00163: Apache/2.4.41 (Ubuntu) OpenSSL/1.1.1f mod_wsgi/4.6.8 Python/3.8 configured -- resuming normal operations
[Fri Mar 26 21:38:36.632287 2021] [core:notice] [pid 7865] AH00094: Command line: '/usr/sbin/apache2'
[Fri Mar 26 21:38:45.326718 2021] [wsgi:error] [pid 7868] [client 162.158.183.139:37968] mod_wsgi (pid=7868): Failed to exec Python script file '/var/www/html/pythonlogin/appen.wsgi'.
[Fri Mar 26 21:38:45.326851 2021] [wsgi:error] [pid 7868] [client 162.158.183.139:37968] mod_wsgi (pid=7868): Exception occurred processing WSGI script '/var/www/html/pythonlogin/appen.wsgi'.
[Fri Mar 26 21:38:45.327350 2021] [wsgi:error] [pid 7868] [client 162.158.183.139:37968] Traceback (most recent call last):
[Fri Mar 26 21:38:45.327391 2021] [wsgi:error] [pid 7868] [client 162.158.183.139:37968]   File "/var/www/html/pythonlogin/appen.wsgi", line 5, in <module>
[Fri Mar 26 21:38:45.327400 2021] [wsgi:error] [pid 7868] [client 162.158.183.139:37968]     from main import app as application
[Fri Mar 26 21:38:45.327412 2021] [wsgi:error] [pid 7868] [client 162.158.183.139:37968]   File "/var/www/html/pythonlogin/main.py", line 2, in <module>
[Fri Mar 26 21:38:45.327418 2021] [wsgi:error] [pid 7868] [client 162.158.183.139:37968]     from flask_mysqldb import MySQL
[Fri Mar 26 21:38:45.327443 2021] [wsgi:error] [pid 7868] [client 162.158.183.139:37968] ModuleNotFoundError: No module named 'flask_mysqldb'
Sist endret av Quiztneffer; 26. mars 2021 kl. 22:04. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
Trigonoceps occipita
vidarlo's Avatar
Donor
Vel, den klager jo over at modulen flask_mysqldb ikkje finst. Er den installert? Har du brukt venv til utvikling?
Trådstarter
71 2
Ikke brukt venv, så flask_mysql er installert over det hele og viktigst(!) dette fungerer når jeg bruker flask run, får da logger inn på: ip.ip.ip.ip:5000/pythonlogin. Der fungerer registrering og innlogging - følgelig er modulen registrert, men jeg må ha gjort noe annet galt her.
Trigonoceps occipita
vidarlo's Avatar
Donor
Sitat av Quiztneffer Vis innlegg
Ikke brukt venv, så flask_mysql er installert over det hele og viktigst(!) dette fungerer når jeg bruker flask run, får da logger inn på: ip.ip.ip.ip:5000/pythonlogin. Der fungerer registrering og innlogging - følgelig er modulen registrert, men jeg må ha gjort noe annet galt her.
Vis hele sitatet...
Korleis installerte du pakken? Den er gjerne tilgjengeleg kun for din bruker?
Trådstarter
71 2
Pip install og pakkens navn. Er det slik at dette kanskje ikke er registrert for «server»?

Og de *lib pakkene med apt-get
Sist endret av Quiztneffer; 27. mars 2021 kl. 00:23. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
Trigonoceps occipita
vidarlo's Avatar
Donor
Sitat av Quiztneffer Vis innlegg
Pip install og pakkens navn. Er det slik at dette kanskje ikke er registrert for «server»?

Og de *lib pakkene med apt-get
Vis hele sitatet...
Du har installert det for din bruker. Køyr sudo pip install pakke for å installere det systemwide. Evt. sett opp venv eller dockerimage for prosjektet ditt.
Trådstarter
71 2
Da skal jeg prøve dette i det jeg våkner, mentalt sett. Så kommer jeg tilbake til deg med resultat. Takk!

Det er installert pip3 install, men dette gjennom ttl hvor jeg er logget inn som root-bruker. Dette hadde følgelig intet å si. Det må derfor være noe med wsgi- eller main-filen vil jeg tro. Skal leggenes bilde av main, de andre filene ligger her alt.

Main.py:

Kode

from flask import Flask, render_template, request,>from flask_mysqldb import MySQL
import MySQLdb.cursors

import re

app = Flask(__name__)
...
Apache:

Kode

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/blabla.p>SSLCertificateKeyFile /etc/apache2/ssl/blabla>SSLCACertificateFile /etc/apache2/ssl/origin.p>
    #WSGIDaemonProcess pythonlogin threads=5
WSGIDaemonProcess main user=www-data group=www>
WSGIScriptAlias /inn /var/www/html/pythonlogin>  #  WSGIScriptReloading On

<Directory /var/html/www/pythonlogin>
WSGIProcessGroup main
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
 #   Order deny,allow
Require all granted
 #  Allow from all
</Directory>
</VirtualHost
Nå har jeg prøvd flere ting, endret ‘proces users’ fulgt flere guider. Jeg bruker ikke venv, og ved flask run fungerer appen helt, når den da via ip.ip.ip.ip:5000/pythonlogin og den er koblet via mysql og alt fungerer.
Når jeg prøver å deploye den kommer de samme feilmeldingene.
Jeg vet ikke om det har noe å si at det er under /inn og link til en annen adresse? Eller om det er problematisk at det er over mitt domene som går via cloudflare og ssl, det er også to nettadresser jeg kjører og følgelig med hosts innstilling som peker til hvert domene.
Sist endret av Quiztneffer; 27. mars 2021 kl. 13:45. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
Trigonoceps occipita
vidarlo's Avatar
Donor
Jamen les feilmeldinga da.

Kode

[Fri Mar 26 21:38:45.327443 2021] [wsgi:error] [pid 7868] [client 162.158.183.139:37968] ModuleNotFoundError: No module named 'flask_mysqldb'
Den finner ikkje modulen flask_mysqldb. Ikkje rør inn alt mulig anna vas som cloudflare og tls eller URL. Problemet er at programmet ditt ikkje finn modulen. Du må finne ut kor på maskina di den er installert, og eventuelt gi fullt path til den.
Trådstarter
71 2
Ok, da skal jeg følge det sporet. Lurt råd, for øvrig, så jeg ikke gjør alt annet galt.

Men hvordan kan den starte og fungere som «flask run» @vidarlo ? Er ikke det mystisk
Sist endret av Quiztneffer; 27. mars 2021 kl. 14:03. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
Trigonoceps occipita
vidarlo's Avatar
Donor
Sitat av Quiztneffer Vis innlegg
Ok, da skal jeg følge det sporet. Lurt råd, for øvrig, så jeg ikke gjør alt annet galt.

Men hvordan kan den starte og fungere som «flask run» @vidarlo ? Er ikke det mystisk
Vis hele sitatet...
https://leemendelowitz.github.io/blo...-packages.html

Kort sagt har Python mange plasser å hente pakker frå. Ein plass er heimekatalogen din.

Du kan sjekke kor ein modul er henta frå som bruker:

Kode

[~]$ python3
Python 3.8.8 (default, Feb 19 2021, 16:53:21) [GCC] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import flask
>>> flask.__file__
'/usr/lib/python3.8/site-packages/flask/__init__.py'
>>> import wheel
>>> wheel.__file__
'/home/vidarlo/.local/lib/python3.8/site-packages/wheel/__init__.py'
Her er mysql installert system-wide i /usr/lib/python3.8/site-packages, mens wheel er installert i heimekatalogen min, og kun tilgjengeleg for min brukar.

Med Python er feila imports ting du må fikse før det er vits i å sjå etter andre feil. Du får ikkje det til å køyre med dei feilmeldingane.
Trådstarter
71 2
Ja, du har helt rett - slik er det hos meg og.
Hvordan skal jeg da løse dette? Jeg ser tanken med virtualenv, men jeg vil bare få dette til å fungere - etter det skal jeg rydde opp en hel del på min server.

Kode

>>> import flask
>>> flask.__file__
'/usr/local/lib/python3.8/dist-packages/flask/__init__.py'
>>> import wheel
>>> wheel.__file__
'/usr/lib/python3/dist-packages/wheel/__init__.py'
Trigonoceps occipita
vidarlo's Avatar
Donor
No var det eksempel på korleis du bruker metoden og forskjellig output. Du må nesten tilpasse eksempla for å finne ut kor flask_mysqldb lever på ditt system...
Sist endret av vidarlo; 27. mars 2021 kl. 15:10.
Trådstarter
71 2
Jeg takker så meget for hjelp, @vidarlo ! Det løste seg. Det gjelder å lese feilmeldinger. Takk igjen