numpy双重安装(pip与apt get)
我在Ubuntu 14.04 LTS上使用python 2.7 我安装了tensorflow、scipy、numpy,但当我尝试使用apt get安装sklearn或opencv时,安装了另一个版本为1.8的numpy,它“覆盖”了我以前使用pip安装的版本,即1.12。我当时试着更新它,因为我需要1.12,但它不起作用 有谁能告诉我为什么会发生这种情况,是因为apt get优先于pip吗numpy双重安装(pip与apt get),numpy,pip,apt-get,Numpy,Pip,Apt Get,我在Ubuntu 14.04 LTS上使用python 2.7 我安装了tensorflow、scipy、numpy,但当我尝试使用apt get安装sklearn或opencv时,安装了另一个版本为1.8的numpy,它“覆盖”了我以前使用pip安装的版本,即1.12。我当时试着更新它,因为我需要1.12,但它不起作用 有谁能告诉我为什么会发生这种情况,是因为apt get优先于pip吗 如何强制更新numpy,或者只删除通过apt-get安装的一个,而不删除作为依赖项安装它的整个软件包(例如
如何强制更新numpy,或者只删除通过apt-get安装的一个,而不删除作为依赖项安装它的整个软件包(例如sklearn)?我在Debian中遇到了类似的问题。这就是我解决这个问题的方法 numpy版本:
- apt-get:v1.8,在
,让它成为“path1”/usr/lib/python2.7/dist-packages
- pip:v1.12,在
/usr/local/lib/python2.7/dist包中,让它成为“path2”
PYTHONPATH
,并将路径2置于路径1之前
因此,在shell配置中,比如~/.bashrc,添加以下行(用实际路径替换path1/2):
然后重新启动shell
您可以测试它是否与以下命令一起工作:$python-c“import numpy;print numpy.\uuu文件”
,并确保路径为path2
我尝试跳过path1,即导出PYTHONPATH=path2:${PYTHONPATH},但这不起作用。也许值得了解一下VirtualEnv处理这类事情的情况最后一行的“但这不起作用”到底是什么意思?您在path1上有一些基本的包,并且您需要path1和path2对python可见?我需要path2中的包,但是python仍然会从path1导入这些包,如果我没有在PYTHONPATH中显式地将path1添加到path2之后的话。
export PYTHONPATH=path2:path1:${PYTHONPATH}