2017-07-16 5 views
0

Je travaille sur l'obtention de mon application flacon python sur mon serveur linode. J'ai suivi quelques tutoriels pour obtenir ce configuré, mais je suis bloqué parce que quand je visite l'url, j'obtiens cette erreur. "ImportError: aucun module nommé ugpromo". J'ai vu d'autres problèmes de ce genre sur stackoverflow, et j'ai essayé leurs solutions, mais j'ai toujours la même erreur.Python flask app mod_wsgi/apache

fichier wsgi

import sys                            
import logging                           
logging.basicConfig(stream=sys.stderr)                     
sys.path.insert(0,"/var/www/html/codingbybrandon/public_html/ugpromo/")                                           
from ugpromo import app as application                     
application.secret_key = 'Add your secret key' 

.py initialisation

from flask import Flask                         
app = Flask(__name__)                         
@app.route("/")                           
def hello():                             
    return "Hello, I love Digital Ocean!"                    
if __name__ == "__main__":                          
    app.run() 
fichier hôte virtuel

<VirtualHost *:80>                            
ServerName ugpromo.codingbybrandon.com                     
ServerAdmin [email protected]                     
ServerAlias www.ugpromo.codingbybrandon.com                    
WSGIScriptAlias/
/var/www/html/codingbybrandon.com/public_html/ugpromo/ugpromo.wsgi                                                                                 
    <Directory /var/www/html/codingbybrandon/public_html/ugpromo/ugpromo/>               
Order allow,deny                           
Allow from all                         
    </Directory>                                       
    Alias /static 
    /var/www/codingbybrandon.com/public_html/ugpromo/ugpromo/static            
    <Directory 
    /var/www/codingbybrandon.com/public_html/ugpromo/ugpromo/static/>              
    Order allow,deny                           
    Allow from all                         
</Directory>                            
    ErrorLog ${APACHE_LOG_DIR}/error.log                      
    LogLevel warn                           
    CustomLog ${APACHE_LOG_DIR}/access.log combined                 
</VirtualHost> 
liste des répertoires

est la suivante

public_html 
    ugpromo 
    __init__.py 
    ugpromo 
     static 
     templates 
     ugp 
    ugpromo.wsgi 

Répondre

0

Vous avez ajouté le répertoire externe "ugpromo" - celui contenant le fichier __init__ que vous voulez importer - à votre sys.path. Vous devez ajouter le parentde ce répertoire à la place:

sys.path.insert(0,"/var/www/html/codingbybrandon/public_html/") 

(Notez, cependant, vous devriez vraiment pas de code mettre sous public_html placer ailleurs..)

+0

obtenir toujours la même erreur après avoir mis à jour ce chemin. Merci pour ce conseil. Je suis juste un programmeur, donc en utilisant un serveur que je dois configurer, j'espère en apprendre plus sur les fichiers de configuration et les paramètres. – balex

+0

après avoir fait plus de recherche j'ai changé qui apache fonctionnait comme, mais cela ne l'a pas réparé, je voulais juste mettre à jour avec quelque chose d'autre que j'ai essayé. – balex

+0

J'ai résolu ce problème, et le problème était très très stupide. Je le nom de dossier codingbybrandon est vraiment codingbybrandon.com. Je vais marquer cette réponse comme correcte, car j'utilise le répertoire parent aussi bien que je ne l'étais pas avant. – balex