我一直认为$HOME
并且~
完全相同,因此可以互换使用。今天,当我尝试在我的共享服务器上安装pylibmc~
(一个绑定到 memcached 的 python 绑定)时,使用给了我错误但没有
$HOME
。我想说明原因。
libmemcached是pylibmc的要求。我在我的主目录下安装了libmemcached,因为我在服务器上没有 root。因此,要安装pylibmc,我需要确保安装脚本知道在哪里可以找到libmemcached。
执行时python setup.py install --with-libmemcached=~
,安装脚本运行
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall \ -Wstrict-prototypes -fPIC -DUSE_ZLIB -I~/include \ -I/usr/local/include/python2.7 -c _pylibmcmodule.c \ -o build/temp.linux-i686-2.7/_pylibmcmodule.o -fno-strict-aliasing
这给出了找不到libmemcached的错误。
如果我更改为--with-libmemcached=$HOME
,则脚本运行
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall \ -Wstrict-prototypes -fPIC -DUSE_ZLIB -I/home/waterbotte/include \ -I/usr/local/include/python2.7 -c _pylibmcmodule.c \ -o build/temp.linux-i686-2.7/_pylibmcmodule.o -fno-strict-aliasing
没有任何问题。看起来问题是波浪号没有得到解决。但为什么?