Kezdőoldal » Számítástechnika » Programozás » Miért nem találja az Apache...

Miért nem találja az Apache alapú szerveren a Python az appomat?

Figyelt kérdés

Már 7-8 órája itt szenvedek az Apache2-vel, hogy egy egyszerű Flask alapú webalkalmazást beüzemeljek.


Odáig jutottam, hogy a venv már kész, fel van minden telepítve (/usr/venvs/appneve), a fájlok a helyükön vannak, a mod_wsgi is fel van telepítve. A probléma ott van, nem találja a saját fájlját (ImportError: No module named appneve, referer: [link] a program. Kutakodtam a logok közt, de egyszerűen semmit nem találtam.


Volt egy pont, amikor valamiért eljutott oda, hogy azért panaszkodik, hogy a Flasket nem találja, de az hirtelen el is tűnt érdekes módon.


A szerver: Ubuntu 20.04

Python: 3.10

WSGI szerver: mod_wsgi

Az app fájljai: /home/appneve/public_html/ (és itt egy appneve mappa, benne az __init__.py fájllal amin keresztül indítani kéne a programot)


(igen, ezt láttam: [link] és nem segített sokat)


appneve.wsgi: from appneve import app as application

appneve.net.conf: [link]

(Az apache2.conf fájlt nem piszkáltam)


Mint láthatjátok, fogalmam sincs, hogy mit csinálok. Kérlek titeket, hogy úgy magyarázzatok, mint egy 5 évesnek.



#web #Python #Apache #Flask #mod_wsgi #wsgi
2022. márc. 18. 00:18
 1/7 anonim ***** válasza:

"ImportError: No module named appneve, referer: [link]

Szerintem jól működik a rendszer. Úgy tűnik, hogy az Apache próbálná elindítani az appot, de maga az applikációt tartalmazó py nincs benne a PYTHONPATH-ben. Legalábbis ezt súgja az intuícióm. Ezt elég könnyen ki lehet próbálni. De lehet, hogy ehhez hasonló a probléma: [link]


Különben még sosem használtam apachet arra, hogy flack applikációt deployoljak (<- van erre magyar szó?), inkább gunicornt használok. Szóval egyértelmű segítséget nem tudok adni. Azt tudom javasolni, hogy próbálj valamiféle minimális renszert összerakni: fusson a te gépeden az apache, és nézd, hogy az appod kiírja-e a localhoston a hello word-öt. Egy ilyen minimális rendszerben nagyon gyorsan lehet iterálni és megtalálni a hiba forrását. (A fenti SO kérdésben le van írva elég jól egy ilyen minimális rendszer)

2022. márc. 18. 12:21
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:

Köszi a választ. Azért van Apache a szerveren, mert egyéb oldalak is vannak a szerveren (pl. Wordpress oldalak).


Azóta még próbálkoztam így-úgy, és eljutottam odáig, hogy a PATH-hez a venv-et sikeresen hozzáadtam, de nem tudom beaktiválni mert hibát dob az activate_this.py (azóta új virtualenvet csináltam, ezúttal a venv helyett a virtualenv paracssal).


Most az alábbi Python hibát dobja ki:

AttributeError: DistutilsMetaFinder instance has no attribute 'find_module'


(Mint kiderült Python 3.8 van a szerveren, de ez aligha számít)

2022. márc. 18. 17:11
 3/7 anonim ***** válasza:

Haha, itt valami nagy gubanc lehet, mert a DistutilsMetaFinder-nek abszolut semmi koze a flask-hez.


Otthon megprobalok beizzitani egy webservert apache-on. Azt meglatjuk, hogy sikerul. Mondjuk en eleve inkabb conda-t hasznalok kornyezet manageleshez, bar nem tudom, hogy ennek mekkora szerepe lesz.

2022. márc. 18. 17:45
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
Rendben, majd kérlek tájékoztass az eredményekről :)
2022. márc. 18. 21:16
 5/7 A kérdező kommentje:
Most megpróbáltam és gunicornnal megy, leszámítva azt, hogy a static mappából mindenre 404-es hibát dob. Erre van ötleted?
2022. márc. 19. 16:43
 6/7 anonim ***** válasza:
Érdekel még segítség?
2022. máj. 25. 23:40
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
Szia, nem, közben megoldottam mindent. Azért köszönöm!
2022. jún. 21. 20:13

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!