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
and set --universal
.
如何在 Fish 中设置 PYTHONPATH? (如果重要的话,我正在运行 Ubuntu 14.04。)
设置变量还不够,您必须export它也是(就像你在 bash 中所做的那样)。导出意味着子进程(如 Python 调用)也将获得该值。
来自鱼文档 http://fishshell.com/docs/current/commands.html#set:
-x 或 --export 导致指定的环境变量导出到子进程
因此,与 bash 指令的直接等效项是:
~> set --export PYTHONPATH /path/to/test/folder
你可以添加--universal
或其他参数,但这里的值是临时的,与原始 bash 示例匹配。
(通过找到答案类似的问题 https://stackoverflow.com/questions/21624512/setting-exports-in-fish-shell.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)