如何确保使用pip安装的软件包不安装使用apt-get安装的依赖项?
例如,在Ubuntu上,您可以使用apt-get install python-numpy安装Numpy软件包.哪个安装到:
usr/local/lib/python2.7/dist-packages
我注意到当我安装一个需要使用pip numpy的软件包时,pip install scipy而不是跳过它再次安装到不同位置的numpy依赖.
/usr/lib/python2.7/dist-packages
pip应该做的是跳过全局安装的任何python包,对吧?
最佳答案
这里的关键是防止多个包管理器安装到相同的目录中.
一种策略是创建一个知道其父解释器包的virtualenv.这可以通过使用–system-site-packages选项来完成.
virtualenv -p /usr/bin/python --system-site-packages py27
source py27/bin/activate
默认情况下,此环境不为空.您可能想要比较/usr/bin/python -m pip list和python -m pip list.
另见这question
对于许多(科学)包装,pypi上也有轮子.轮子已经是二进制的,因此无需进一步编译.