【问题标题】:How can I set PYTHONPATH in fish?如何在鱼中设置 PYTHONPATH?
【发布时间】:2014-06-19 13:52:59
【问题描述】:

以下在 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

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

【问题讨论】:

    标签: python ubuntu fish


    【解决方案1】:

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

    来自fish documentation

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

    因此,直接等效于 bash 指令的是:

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

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

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

    【讨论】:

      【解决方案2】:

      如果您想让更改永久生效,则可以添加 下面一行

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

      ~/.fish/config.fish的底部

      【讨论】:

      • 我的路径是~/.config/fish/config.fish,但这仍然有效,所以谢谢
      猜你喜欢
      • 2015-12-25
      • 1970-01-01
      • 2011-03-07
      • 1970-01-01
      • 2020-10-31
      • 2016-06-20
      • 1970-01-01
      • 2012-05-07
      • 2010-09-19
      相关资源
      最近更新 更多