我在Ubuntu 14.04 LTS上使用python 2.7。
我安装了tensorflow,scipy,numpy,但是当我尝试使用apt-get安装sklearn或opencv时,安装了另一个numpy,其版本为1.8,它“覆盖”我之前使用pip 1.12安装的那个。我尝试更新它,因为我需要1.12,但它不起作用。
有人能告诉我为什么会这样,是因为apt-get优先于pip吗?
如何强制更新numpy,或者只删除通过apt-get安装的那个而不删除将其作为依赖项安装的整个软件包(例如sklearn)?
答案 0 :(得分:1)
我在Debian遇到了类似的问题。这就是我解决(解决方法)这个问题的方法。
numpy版本:
/usr/lib/python2.7/dist-packages
,让它为“path1” /usr/local/lib/python2.7/dist-packages
,让它为“path2” 将两个路径1和路径2 添加到环境变量PYTHONPATH
,并在路径1之前创建路径,如果您希望将pip版本作为默认值。
因此,在shell配置中,例如〜/ .bashrc ,添加此行(将path1 / 2替换为真实路径):
export PYTHONPATH=path2:path1:${PYTHONPATH}
然后重启shell。
您可以测试它是否适用于此命令:$ python -c "import numpy; print numpy.__file__"
,并确保路径为path2。
我尝试跳过path1,即export PYTHONPATH=path2:${PYTHONPATH}
,但这不起作用。