2016-08-25 1 views
0

Wenn ich meine CGI (Common Gateway Interface) starten, indem Sie mit diesem Code:Wie ändere ich die vom Apache verwendete Python-Version?

# -*- coding: utf-8 -*- 


import cgi 
import os 
import json 
import cgitb 

cgitb.enable() 
from sklearn.feature_extraction.text import CountVectorizer 

print 'Content-type: text/html' 

print 


print '<html><head><title>Interface Ticket Recognition</title></head><body>' 

formulaire = cgi.FieldStorage() 



os.chdir("C:\Users\iyacine\Desktop") 

path= os.getcwd() 

from subprocess import call 
call(["Python", "applicationV1.py"]) 

if path=="C:\Users\iyacine\Desktop": 
    print '''changer''' 

print '</body></html>' 

ich einen Fehler bekam:

enter image description here

Ich versuche, den Weg in die Umgebungsvariable zu ändern, aber diese Arbeit nur in cmd.

Ich installierte anakonda i mein Computer und ich kann das Modul sklearn.feature_extraction.text in Spyder ausführen, aber nicht von Apache. Können Sie dieses Problem bitte lösen?

+0

Welches Betriebssystem verwenden Sie? – Keozon

+0

für bessere Lesbarkeit bitte bearbeiten Sie Ihre Frage und markieren Sie Ihren Code als Code (die '{}' Taste) – janbrohl

Antwort

0

Sie sollten eine erste Zeile wie #! /usr/bin/python (genannt Shebang Linie) in Ihrem Skript haben. Sie müssen diese Zeile so ändern, dass sie auf die tatsächlich ausführbare Python-Datei verweist. Für Windows hat einen Blick auf the docs aber es gibt auch die Möglichkeit, „.bat“ Dateien per CGI zu laufen, so dass Sie eine Datei verwenden könnten (zB runmyscript.bat), die nur

@C:\path\to\anaconda\python.exe path\to\script.py 

die Hacky Abhilfe ist (glaube ich) aber sollte auch funktionieren.

Nach meiner Erfahrung ist es am besten, wenn möglich virtualenv zu verwenden - das behebt das Pfadproblem nicht direkt, sondern hilft, verschiedene Anwendungen isoliert zu halten.

Verwandte Themen