2017-05-17 11 views
0

私はOpenshiftでPython 2.7プロジェクトをセットアップしようとしています。目標は、Tornado Websocketsを使用することです。私はいくつかの例を試しましたが、例に示されているいくつかの欠落した環境変数についてつづいています。私の現在のapp.pyOpenShiftで環境変数が見つからない

import imp 
import os 

try: 
    zvirtenv = os.path.join(os.environ['OPENSHIFT_PYTHON_DIR'], 
         'virtenv', 'bin', 'activate_this.py') 
         execfile(zvirtenv, dict(__file__ = zvirtenv)) 
except IOError: 
    pass 

if __name__ == '__main__': 
    ip = os.environ['OPENSHIFT_PYTHON_IP'] 
    port = int(os.environ['OPENSHIFT_PYTHON_PORT']) 
    app = imp.load_source('application', 'main.py') 

    app.application.listen(port , ip) 
    app.ioloop.IOLoop.instance().start() 

がインストールマイは必要です:

install_requires=['tornado', 'requests', 'beautifulsoup4'] 

これは、次のエラーが発生:

---> Running application from Python script (app.py) ... 
Traceback (most recent call last): 
    File "app.py", line 14, in <module> 
    zvirtenv = os.path.join(os.environ['OPENSHIFT_PYTHON_DIR'], 
    File "/opt/app-root/lib64/python2.7/UserDict.py", line 40, in __getitem__ 
    raise KeyError(key) 
KeyError: 'OPENSHIFT_PYTHON_DIR' 

誰も私を助けることはできますか?

答えて

1

OpenShift 2を使用しているのにOpenShift 3を使用している環境変数を探しています。OpenShift 3では、Python仮想環境をアクティブ化する必要はありません。 app.pyは、すべてのインターフェースとポート8080でリッスンする必要があります。デフォルトのPython S2Iビルダーを使用している限り、そのアドレスは変更されないため、環境変数を渡すのに使用されない環境変数です。

+0

ありがとう、 –

関連する問題