我怎样才能在鱼中设置PYTHONPATH?

时间:2014-06-19 13:52:59

标签: python ubuntu fish

以下适用于bash:

~$ echo $PYTHONPATH
<nothing>
~$ export PYTHONPATH=/path/to/test/folder
~$ echo $PYTHONPATH
/path/to/test/folder
~$ python -m test_script
hello world

但不是鱼:

Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
~> echo $PYTHONPATH
<nothing>
~> set --universal PYTHONPATH /path/to/test/folder
~> echo $PYTHONPATH
/path/to/test/folder
~> python -m test_script
/usr/bin/python: No module named test_script

我已尝试setset --globalset --universal

如何在鱼中设置PYTHONPATH? (如果重要的话,我正在运行Ubuntu 14.04。)

2 个答案:

答案 0 :(得分:8)

设置变量是不够的,你也必须导出(就像在bash中一样)。导出意味着子进程(如Python调用)也将获得该值。

来自fish documentation

  

-x或--export导致将指定的环境变量导出到子进程

所以直接等同于bash指令:

~> set --export PYTHONPATH /path/to/test/folder

您可以添加--universal或其他参数,但这里的值是临时的,与原始的bash示例匹配。

(通过a similar question找到答案。)

答案 1 :(得分:4)

如果您想要永久更改,那么您可以添加  以下一行

set -xg PYTHONPATH /path/to/test/folder $PYTHONPATH

~/.fish/config.fish

的底部