代替--target选项或--install-options选项,我发现以下方法很好用(来自有关此问题的错误讨论,网址为https://github.com/pypa/pip/issues/446):
PYTHONUSERBASE=/path/to/install/to pip install --user
(或者PYTHONUSERBASE在运行命令之前使用,在您的环境中设置目录export PYTHONUSERBASE=/path/to/install/to)
它使用了非常有用的--user选项,但告诉它使bin,lib,share你会在一个自定义的前缀期待,而不是和其他目录$HOME/.local。
然后,你可以到你添加这个PATH,PYTHONPATH你将一个正常的安装目录和其他变量。
请注意,如果依赖于此的任何软件包都需要在目录中安装较新的版本,则您可能还需要指定--upgrade和--ignore-installed选项PYTHONUSERBASE,以覆盖系统提供的版本。
一个完整的例子:
PYTHONUSERBASE=/opt/mysterypackage-1.0/python-deps pip install --user --upgrade numpy scipy
..将最新版本的scipy并将numpy最新版本安装并打包到一个目录中,然后可以将其包含在目录中PYTHONPATH(对于本示例,在CentOS 6上使用bash和python 2.6):
export PYTHONPATH=/opt/mysterypackage-1.0/python-deps/lib64/python2.6/site-packages:$PYTHONPATH
export PATH=/opt/mysterypackage-1.0/python-deps/bin:$PATH
使用virtualenv仍然是更好,更整洁的解决方案!