我似乎无法升级已安装在Ubuntu 15.04中的软件包。 Pip仍然有效,将软件包安装到/usr/local/python2.7/dist-packages
,但路径列表顶部为/usr/python2.7/dist-packages
,甚至PYTHONPATH
无法获得该行以上的内容。我相信这适用于更老的Ubuntus。我一直在试图找到/usr/python/site.py
的东西,但它似乎做的是正确的事情。添加-S
确实似乎阻止非本地版本位于顶端。我相信,我已经在两台电脑上看到了这一点。PIP无法升级ubuntu 15.04中的内置软件包15.04
需要这样的一些示例:在没有APT的情况下更新以获取所需功能/错误修正(对于PILLOW来说),并卸载一系列将该软件包列为需求的软件包。
编辑: 澄清,问题是:我想重新排列目录搜索顺序来恢复Ubuntu 14.10的行为。在许多系统上有更好的方法来实现这一点,但我想使用内置的apt封装,只需要一个或两个(潜在的)新包,如IPython等,而不是使用virtual-env和Anacoda我在其他系统上使用)。它看起来像我希望的行为是记录的Debian行为,所以我不知道它为什么重新排序路径。
这里的路径来说明问题,注意PYTHONPATH
变量是在中间,有两个git的文件夹:
>>> sys.path
['',
'/usr/lib/python2.7/dist-packages',
'/usr/local/lib/python2.7/dist-packages/requests-2.6.0-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/octave_kernel-0.10.0-py2.7.egg',
'/home/username/git/maya',
'/home/username/git/udaq/pyUDAQ',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/usr/lib/python2.7/dist-packages/wx-3.0-gtk2']
仅供参考,我已经跑14.04匹配系统,具有完全预期行为。这两个PYTHONPATH
先生先来,然后再在当地dist-packages
以上内置。
我认为让'pip'和'apt'打包是一个非常糟糕的主意。更简洁的方法是改用'virtualenvs'。 – cel
我希望能够将我的电脑交给跟随方向但不太了解的人。告诉他“ipython notebook”比告诉他首先激活虚拟env要容易得多。不过,这通常是个好主意。 –
在这种情况下:切换到'anaconda'并将软件包安装到根环境中。然后''conda''和'pip'现在是你的软件包管理器和'apt'不会干涉的。 – cel