我正在尝试设置一个用python编写的外部程序/ lib - 关于debian squeeze。
当我尝试启动“环境变量未设置”时我得到的错误 - 这是开发人员的异常抛出。所以我想,我必须定义它,但在哪里?
~/.bashrc
中读过使用导出,但我不确定它是否在virtualenv中读取,即使我不使用这个virtualenv,我也不希望这些导出被读取。 virtualenv/bin/activate
中使用导出,但它似乎无法正常工作。我正在尝试安装Opus and 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似乎提供了答案,但我不想使用外部程序。
答案 0 :(得分:7)
如果您添加到opus-env/bin/activate
OPUS_HOME="some value"
export OPUS_HOME
应该有效(你的解决方案3)。当然,它不会应用于当前正在运行的进程。
尝试退出当前的virtualenv shell会话,启动新的shell会话,在该新会话中激活已修改的virtualenv。 在开始程序之前,请验证环境:
env | grep OPUS_HOME
答案 1 :(得分:0)
~virutalenv/bin/python opus.py