Vidíte něco s mým snaze získat Flask běží špatně? (Mod_wsgi + VIRTUALENV)

hlasů
13

Mám VPS běží novou instalaci Ubuntu 10.04 LTS. Snažím se vytvořit živou aplikace pomocí baňky microframework, ale to mi dává potíže. Vzal jsem si poznámky, když jsem se snažil dostat to běží, a tady je můj play-by-play ve snaze určit přesně, kde jsem se stala chyba.

INSTALACE

http://flask.pocoo.org/docs/installation/#installation

$ adduser myapp
$ sudo apt-get install python-setuptools
$ sudo easy_install pip
$ sudo pip install virtualenv

/home/myapp/
-- www/

$ sudo pip install virtualenv

/home/myapp/
-- www/
-- env/

$ . env/bin/activate
$ easy_install Flask

MOD_WSGI

http://flask.pocoo.org/docs/deploying/mod_wsgi/

$ sudo apt-get install apache2
$ sudo apt-get install libapache2-mod-wsgi

Vytvoření WSGI soubor

$ nano /home/myapp/www/myapp.wsgi

--myapp.wsgi contents:--------------------------
activate_this = '/home/myapp/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
from myapp import app as application

/home/myapp/
-- www/
     -- myapp.wsgi
-- env/

Konfigurace Apache

$ nano /etc/apache2/sites-available/myapp.com

-----myapp.com file contents ---------------------
<VirtualHost *:80>
    ServerName myapp.com

    WSGIDaemonProcess myapp user=myapp group=myapp threads=5 python-path=/home/myapp/env/lib/python2.6/site-packages

    WSGIScriptAlias / /home/myapp/www/myapp.wsgi

    <Directory /home/myapp/www>
        WSGIProcessGroup myapp
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

Povolit soubor virtuálního hostitele jen jsem vytvořil

$ cd /etc/apache2/sites-enabled
$ ln -s ../sites-available/myapp.com

restart Apache

$ /etc/init.d/apache2 restart

Servery mi chybová stránka 500 serveru. Tady je nejnovější protokolu chyb:

mod_wsgi (pid=3514): Target WSGI script '/home/myapp/www/myapp.wsgi' cannot be loaded as Python module.
mod_wsgi (pid=3514): Exception occurred processing WSGI script '/home/myapp/www/myapp.wsgi'.
Traceback (most recent call last):
File /home/myapp/www/myapp.wsgi, line 4, in <module>
from myapp import app as application
ImportError: No module named myapp

Chyby se zmiňují, že je to něco, co nápadně jasné, ale já jsem docela ztratil.

Položena 12/12/2010 v 04:01
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
8

Je zřejmé, že nemůže najít „ myapp“ balíček. Měli byste ji přidat do cesty ve svém myapp.wsgisouboru, jako je tento:

import sys
sys.path.append(DIRECTORY_WHERE_YOUR_PACKAGE_IS_LOCATED)
from myapp import app

Také, pokud myappmodul je balíček, měli byste si dát a prázdný __init__.pysoubor do svého adresáře.

Odpovězeno 12/12/2010 v 06:32
zdroj uživatelem

hlasů
0

Upravit řádek sys.path.append, musí být řetězec.

import sys
sys.path.append('directory/where/package/is/located')

Všimněte si na apostrofy.

Odpovězeno 02/02/2011 v 22:37
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more