6

私は、Pythonで書かれた外部プログラム/ libを設定しようとしています-debianのスクイーズで。

起動しようとすると、「環境変数が設定されていません」というエラーが表示されます。これは、開発者による例外スローです。だから私はそれを定義する必要があると思いますが、どこですか?

  1. virtualenv と path は同じだと思っていたので、起動時に読み込まれる .pth を書きました。それはいくつかの間違いを解決しましたが、すべてではありませんでした。
  2. use export in を~/.bashrc読みましたが、それが virtualenv で読み込まれたかどうかわかりません。この virtualenv を使用しない場合でも、それらの export を読みたくありません。
  3. でエクスポートを使用することも読みましたvirtualenv/bin/activateが、正しく機能していないようです。

Opus と Urbansimをインストールしようとしています。

起動時に得られるものは次のとおりです。

(opus-env)touki@touki:~/Projects/opus-env$ ./src/opus_gui/opus.py  
Traceback (most recent call last):
  File "./src/opus_gui/opus.py", line 14, in <module>
    from opus_gui.main.controllers.opus_gui_configuration import OpusGuiConfiguration  
  File "/home/touki/Projects/opus-test/src/opus_gui/main/controllers/opus_gui_configuration.py", line 12, in <module>
    from opus_core import paths  
  File "/home/touki/Projects/opus-test/src/opus_core/paths.py", line 44, in <module>
    OPUS_HOME = _safe_getenv('OPUS_HOME', _get_default_opus_home)  
  File "/home/touki/Projects/opus-test/src/opus_core/paths.py", line 33, in _safe_getenv
    return os.environ[key] if key in os.environ else default_func()  
  File "/home/touki/Projects/opus-test/src/opus_core/paths.py", line 36, in _get_default_opus_home  
    raise Exception('OPUS_HOME environment variable must be set.') 
Exception: OPUS_HOME environment variable must be set.

NB .: 検索しましたが、autoenv 結合 virtualenvwrapper は答えを提供しているようですが、外部プログラムは使用したくありません。

4

2 に答える 2

10

追加する場合opus-env/bin/activate

OPUS_HOME="some value"
export OPUS_HOME

それはうまくいくはずです(あなたの解決策3)。もちろん、現在実行中のプロセスには適用されません。

現在の virtualenv シェル セッションを終了し、新しいシェル セッションを開始して、その新しいセッションで変更された virtualenv をアクティブ化してください。プログラムを開始する前に、環境を確認してください。

env | grep OPUS_HOME
于 2013-06-06T18:31:12.510 に答える
0

うーん、多分使用します:

~virutalenv/bin/python opus.py
于 2012-11-05T13:41:39.050 に答える