2015-09-21 1 views
0

J'essaie d'exécuter un script dans le navigateur. J'ai installé mod_python pour exécuter des applications basées sur le Web sur le serveur et définir un tralala dans mon script:mod_python ignorant shebang et utilisant Python 2 au lieu de 3

#!/usr/bin/env python3 
# -*- coding: UTF-8 -*- 

import sys 

def index(): 
    print ("Content-type: text/html\n") 
    print('Version Python {0}'.format(sys.version_info[0])) 

if __name__ == '__main__': 
    index() 

Cependant, quand je lance mon script à partir du navigateur (my application), je vois que la version Python est 2. Lorsque je cours le script à partir de la console, en utilisant:

python3 index.py 

Python version 3.3.5 est utilisé comme prévu. Pourquoi mod_python ignore le shebang?

UPD. La question a été fermée

  • J'ai désactivé le mod_python.
  • J'ai fondé une erreur dans shebang (je devrais définir \ n les fins de ligne pour Unix).
  • wrapper writed sur php pour python en cours d'exécution 3
+0

Pouvez-vous montrer les quelques lignes à partir de l'ensemble du code? Et vous exécutez cela dans Linux? –

+0

@AnandSKumar j'ajoute le script entier dans ma question, j'utilise CentOS –

+0

@ jonrsharpe si je cours le script ./myscriptname.py soulevez l'erreur No such file or directory

Répondre

1

Set drapeau exécutable sur le fichier:

chmod a+x yourfile.py 

Ensuite, exécutez comme:

./yourfile.py 
+0

Bien que correct dans le sens général, je ne suis pas sûr que cela aide l'OP avec ce qu'ils veulent dire par * "du navigateur" *. – jonrsharpe

+0

il n'est pas aidé man ( –

+1

@LeoKomarov alors * fournir suffisamment d'informations *, sinon vous n'obtiendrez jamais une réponse – jonrsharpe

0

Lorsque le tralala est utilisé suivre cette étapes pour exécuter le code.

Cela rend votre exécutable fichier

chmod +x index.py 

Cela aide votre code à exécuter

./index.py