我正在運行apache,Django和wsgi。我也使用這個名爲SAS的其他軟件來做統計分析。只是爲了給你一些背景。我的最終目標是當客戶端在用django編寫的表單上提交時,相應的sas腳本被稱爲(通過python wsgi腳本),它在服務器上執行計算,然後將客戶端重定向到輸出頁面。使用wsgi腳本來調用exe
我有一個叫做test5.py
的基本腳本。它看起來像這樣:
import os
import subprocess
def application(environ, start_response):
status = '200 OK'
output = 'Running External Program!'
f = open("C:\Documents and Settings\eric\Desktop\out.txt", 'a')
f.write('hi')
f.close()
#os.system(r'start "C:\Program Files\SAS92\SASFoundation\9.2\sas.exe"')
#subprocess.call([r'C:\Program Files\SAS92\SASFoundation\9.2\sas.exe'])
#os.startfile(r'C:\Program Files\SAS92\SASFoundation\9.2\sas.exe')
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
#start_response('301 Redirect', [('Location', 'http://myserver/reports'),])
start_response(status, response_headers)
return [output]
那麼,什麼情況是,out.txt
文件確會創建並有書面文件中hi
。這很酷。前3條註釋行是3次嘗試讓這個相同的腳本也呼叫服務器上的sas.exe
。我只是試圖讓任何.exe
現在工作,所以調用油漆或寫字板會很好。但是,這些行似乎不在wsgi
上下文中執行。如果我只是加載Python命令行,我可以得到.exes
執行得很好。此外,最後的評論似乎在重定向中正常工作。我不確定是否需要配置Apache來添加可執行文件。如果我錯誤地使用了條款,請原諒我。我對這一切還是比較陌生的。
感謝
聖保羅嗨,
我試圖尋找到你的最後評論。我有點困惑,至於我在尋找什麼或如何尋找它。以下是我收集的一些信息。順便說一下,我在Windows XP上運行並使用Apache 2.2。
我的apache是爲所有用戶安裝的,因爲在regedit中,變量ServerRoot位於HKEY_LOCAL_MACHINE(http://httpd.apache.org/docs/2.2/platform/windows.html)下。另外我相信SAS是安裝在所有用戶之下的。我通過讓我的同事使用她的登錄信息進行了測試,並且我仍然可以訪問。我不確定這是否足夠的測試。
我運行wsgi時得到的日誌如下。我不確定這個過程是否空白。
[Mon Aug 20 10:33:17 2012] [info] [client 10.60.8.71] mod_wsgi(pid = 5980,process ='',application ='com |/test5'):重新加載WSGI腳本'C:/Sites/cprm/pyscripts/test5.wsgi'。
此外,我嘗試從我發佈的評論中發佈的鏈接.bat技巧早些時候發佈到無濟於事。我製作了一個簡單的批處理文件,它只是響應'嗨'並將它放在我的wsgi腳本所在的同一個目錄中。我覺得那裏應該沒有接入問題,但我可能會誤解。我也只是嘗試使用子進程調用一個簡單的python腳本來測試。也沒有發生。
也只是給你看,我的httpd.conf文件看起來像這樣:
的AllowOverride無 選項無 訂購允許,拒絕 所有
WSGIScriptAlias/test1的「C允許:/ 「/ sites/cprm/pyscripts/test3」。py WSGIScriptAlias/test4「C:/sites/cprm/pyscripts/test4.py」 WSGIScriptAlias/test5「C:/sites/cprm/pyscripts/test5.wsgi」 WSGIScriptAlias /「C:/ sites/cprm/wsgi。 py「
此信息是否有幫助?另外,我在尋找一個特定的環境變量或什麼?
再次感謝
你在做什麼樣的統計分析? proc freq/tabulate /手段等...等等。? – 2012-08-17 00:02:10
我在銀行做信用風險管理。我想要一種方法來前端使用SAS和其他語言編寫的一系列模型。有些程序基於更多計算,而其他程序僅用於填充圖表/報告。 – user1604594 2012-08-17 15:22:25