为什么pip安装biopython失败(但其他软件包成功)?

为什么pip安装biopython失败(但其他软件包成功)?,python,pip,biopython,Python,Pip,Biopython,我正在尝试将python包安装在一组开发人员共享的目录中。我们没有sudo的许可。这适用于某些软件包(如seqmagick),但不适用于其他软件包(如biopython)。谁能告诉我那些失败的人有什么不同吗。还有什么解决办法吗 $ pip --version pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7) 我在当前目录中创建了一个setup.cfg文件 [install] install-base=/tmp/group/

我正在尝试将python包安装在一组开发人员共享的目录中。我们没有sudo的许可。这适用于某些软件包(如seqmagick),但不适用于其他软件包(如biopython)。谁能告诉我那些失败的人有什么不同吗。还有什么解决办法吗

$ pip --version
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
我在当前目录中创建了一个setup.cfg文件

[install]
install-base=/tmp/group/python
install-purelib=$base/lib
install-platlib=$base/lib.$PLAT
install-scripts=/tmp/different/bin
install-headers=$base/include
install-data=$base/data
下面的工作,一切都在正确的地方结束:

$pip安装--无deps seqmagick

但事实并非如此

$pip安装--无deps biopython

失败是,

running install_lib
creating /usr/local/lib/python2.7/dist-packages/BioSQL
error: could not create '/usr/local/lib/python2.7/dist-packages/BioSQL': Permission denied
当setup.cfg方案指向其他地方时,为什么pip(或setup.py?)要在/usr/local中安装东西


提前感谢您提供的任何见解。

可能是因为您有一个非常旧的pip版本,请首先尝试以下内容:

pip install pip --upgrade

交叉参考

这是该工具的主要设计案例之一,使用户可以轻松、简单地将软件包安装到非系统范围的位置。在pip中使用
--no-dep
似乎是不可取的,因为pip是一个包管理器,您正在破坏包管理的主要功能之一;这几乎可以保证安装的软件包在有依赖项的情况下无法工作。如果可以,请使用VirtualNV。我感谢您的回复。我添加了
--no-dep
,以避免将问题与安装的一长串依赖项混淆。我想把问题缩小到两个包——一个尊重setup.cfg,另一个不尊重setup.cfg。在对此进行了一段时间的探索之后,似乎在不使用virtualenv的情况下,在非标准位置安装软件包(包括轮子)的唯一可靠方法是使用
--user
PYTHONUSERBASE
。不幸的是,您无法将脚本拆分到不同的位置。