以下适用于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
我已尝试set
,set --global
和set --universal
。
如何在鱼中设置PYTHONPATH? (如果重要的话,我正在运行Ubuntu 14.04。)
答案 0 :(得分:8)
设置变量是不够的,你也必须导出(就像在bash中一样)。导出意味着子进程(如Python调用)也将获得该值。
-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