为什么 python 为我设置的 PYTHONPATH 变量添加前缀 /home/user?

Why is python adding a prefix /home/user to the PYTHONPATH variable I set?

我现在在ubuntu 16.04上使用python的caffe,编译安装后,我需要将caffe的目录添加到PYTHONPATH变量中,以便python知道导入的时候怎么找。但是奇怪的事情发生在这里。我在 ~/.bashrc 中添加了以下行: export PYTHONPATH="~/caffe/python/:$PYTHONPATH"

不用说了,我遇到了导入caffe失败的问题,想找找原因。这是我在 python:

中所做的

>>>import sys

>>>sys.path

['','/home/roof/~/caffe/python',…………………]

Bash 或 python 正在为我设置的 PYTHONPATH 变量添加前缀 /home/roof/,这是意外的,但为什么?我怎样才能摆脱它?

停止引用波浪号,因为这会干扰展开。

$ FOO="~" bash -c 'echo $FOO'
~
$ FOO=~ bash -c 'echo $FOO'
/home/XXXXXX