【问题标题】:Export of PYTHONPATH from .zshrc not working从 .zshrc 导出 PYTHONPATH 不起作用
【发布时间】:2015-04-24 19:34:37
【问题描述】:

我正在尝试从我的 .zshrc 中导出 PYTHONPATH 环境变量,但失败了。

.zshrc 中的相关行

PYTHONPATH="/Users/nicolas/Code:/Users/nicolas/Code/Dashboard"
export $PYTHONPATH

** 从命令行 **

1] 测试一个

echo $PYTHONPATH
/Users/nicolas/Code:/Users/nicolas/Code/Dashboard

似乎工作

2] 测试二

`sh -c 'echo "$PYTHONPATH"' `
==> empty output

其实没有

3] 测试三

运行以下 python 脚本,使用命令python script.py

#!/usr/bin/env python
import os
try:
    user_paths = os.environ['PYTHONPATH'].split(os.pathsep)
except KeyError:
    user_paths = 'no pythonpath'
print user_paths

输出: 没有python路径

又失败了

4] 测试四

zsh -x -c 'echo moo'

+/etc/zshenv:2> [ -x /usr/libexec/path_helper ']'
+/etc/zshenv:3> /usr/libexec/path_helper -s
+/etc/zshenv:3> eval 'PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/X11/bin:/usr/texbin:/Users/nicolas/anaconda/bin:/opt/local/lib/postgresql93/bin:/Users/nicolas/Code/games:/Users/nicolas/Code/Dashboard";' export 'PATH;'
+(eval):1> PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/X11/bin:/usr/texbin:/Users/nicolas/anaconda/bin:/opt/local/lib/postgresql93/bin:/Users/nicolas/Code/games:/Users/nicolas/Code/Dashboard
+(eval):1> export PATH
+zsh:1> echo moo
moo

额外信息:

which zsh

输出:/usr/local/bin/zsh

我的 $PATH 没问题,它在终端和 python 内部都非常相似。

发生了什么,我该如何解决?

使用 Mac 操作系统,从 anaconda 安装 python

【问题讨论】:

    标签: shell python-2.7 zsh zshrc


    【解决方案1】:

    这个export $PYTHONPATH 不正确。

    export 接受变量 names 而不是值。

    你想要export PYTHONPATH

    您的行相当于export /Users/nicolas/Code:/Users/nicolas/Code/Dashboard,您可能会说它不是很有用。

    【讨论】:

    • 谢谢。刚接触 *nix 环境时很难发现这种小错误。
    • 您在尝试执行该行时应该从您的 shell 中看到一个错误,因为扩展的 export 行是不合法的。 (在运行的 shell 中尝试一下,看看我的意思。)虽然它有可能被发送到你看不到(或不知道要看)的地方。
    • 是的,加载 shell 时出错。但是因为 echo $PYTHONPATH 返回了一些看起来像路径的东西,所以我没有注意那个警告......
    猜你喜欢
    • 1970-01-01
    • 2017-02-06
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-01
    相关资源
    最近更新 更多