以下在 bash 中有效:
~$ echo $PYTHONPATH
<nothing>
~$ export PYTHONPATH=/path/to/test/folder
~$ echo $PYTHONPATH
/path/to/test/folder
~$ python -m test_script
hello world
但不是 fish :
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
。
如何在 fish 中设置 PYTHONPATH? (如果重要的话,我正在运行 Ubuntu 14.04。)
最佳答案
设置变量是不够的,您还必须导出它(就像在 bash 中所做的那样)。导出意味着子进程(如 Python 调用)也将获得该值。
-x or --export causes the specified environment variable to be exported to child processes
因此,与 bash 指令直接等效的是:
~> set --export PYTHONPATH /path/to/test/folder
您可以添加 --universal
或其他参数,但这里的值是临时的,与原始 bash 示例匹配。
(通过 a similar question 找到答案。)
关于python - 如何在 fish 中设置 PYTHONPATH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24308310/