Mój pierwszy wpis, a ja jestem nowy zarówno w Pythonie, jak i Apache, więc proszę, nie krępuj się. Mam aplikację internetową Python w środowisku conda, która wyświetla zawartość dobrze, używając Flask. Teraz muszę służyć wszystkim z Apache zamiast z Flask. Mogę zmusić Apache do uruchomienia Pythona za pomocą mod_wsgi, ale tylko z virtualenv. Próbowałem zainstalować virtualenv z Anacondą, ale otrzymałem ostrzeżenie, że taka konfiguracja nie jest obsługiwana i nie jest zalecana. Więc moje pytanie jest następujące:Jak używać środowiska conda z mod_wsgi?
Jak skonfigurować Apache do uruchamiania aplikacji w środowisku conda?
Here, istnieje sekcja dotycząca pracy ze środowiskami wirtualnymi i mówi, że muszę wprowadzić linię do mojego pliku WSGG, pokazującą gdzie znaleźć activ_this.py. Virtualenv wirtualne środowisko ma activate_this.py, ale środowisko conda nie. Wygląda na to, że bez odpowiednich instrukcji aktywacji środowiska wirtualnego pojawia się błąd 500 w mojej przeglądarce i "Błąd importu: brak modułu o nazwie kolba" w moim httpd error_log.
Jest to w moim pliku httpd.conf:
<VirtualHost *:80>
DocumentRoot /var/www
WSGIScriptAlias/var/www/tsm.wsgi
<Directory /var/www/tsm>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
A oto tsm.wsgi:
import sys
import site
site.addsitedir('~/.conda/envs/tsm/lib/python2.7/site-packages')
sys.path.insert(0, '/var/www/tsm/server/time_series_machine')
sys.stdout = sys.stderr
from app import app as application
Jakieś pomysły? Dziękuję za pomoc, którą możesz udzielić.
Dzięki! Myślę ... Myślę, że to naprawiło. Występują teraz inne błędy, ale myślę, że mam serwer Apache używający mod_wsgi w środowisku conda. Pobrałem mod_wsgi, pobrałem kod źródłowy, źródło aktywowało moje środowisko conda, skompilowałem i zainstalowałem z "python setup.py install", a następnie uruchomiłem serwer z serwerem startowym mod_wsgi-express w wersji 0.0.0.0:8080. Widziałem tę stronę ... węża w butelce? Ale teraz, gdy próbuję załadować konkretny plik .py, pojawia się następujący błąd: – Nathaniel
Niestety, naciśnij enter zamiast shift-enter, a następnie zajęło zbyt dużo czasu, aby poprawić moją odpowiedź. W każdym razie, myślę, że to działa; Właśnie dostaję inny błąd teraz, gdy próbuję uruchomić prosty helloWorld.py i na tym popracuję, zadaję kolejne pytanie później, jeśli nie mogę tego rozgryźć. Dzięki jeszcze raz. – Nathaniel