我正在尝试在Debian Squeeze上设置一个用Python编写的外部程序/库。当我尝试启动它时,我得到的错误是“环境变量未设置”,这是开发人员抛出的异常。所以我想我必须定义它,但是在哪里定义呢?
以下是启动时的输出:
注意:我已经搜索过了,autoenv结合virtualenvwrapper似乎提供了一个答案,但我更愿意不使用外部程序。
- 我认为virtualenv和path是相同的,所以我编写了一个在启动时加载的.pth文件。它解决了一些错误,但并不是全部。
- 我读到可以在
~/.bashrc
中使用export,但我不确定它是否在虚拟环境中被读取,而且我不希望即使我不使用此虚拟环境时也读取这些导出内容。 - 我还读到可以在
virtualenv/bin/activate
中使用export,但似乎没有正常工作。
以下是启动时的输出:
(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.
注意:我已经搜索过了,autoenv结合virtualenvwrapper似乎提供了一个答案,但我更愿意不使用外部程序。
.bashrc
会被你的 shell 读取,并且它将为 每个 会话设置。 - Martijn Pieters