我似乎无法再升级已安装在 Ubuntu 15.04 中的软件包。 Pip 仍然有效,将包安装到 /usr/local/python2.7/dist-packages
,但路径列出了 /usr/python2.7/dist-packages
at顶部,甚至 PYTHONPATH
也无法获取该行以上的内容。我相信这适用于较旧的 Ubuntu。我一直试图在 /usr/python/site.py
中找到一些东西,但它似乎做了正确的事情。添加 -S
似乎确实阻止了非本地版本位于顶部。我相信我已经在两台计算机上看到过这个。
需要这样做的一些示例:更新以获得所需的功能/错误修复(对于 PILLOW,在我的例子中),而无需 APT 卸载一堆将那个包列为要求的包。
编辑: 为了澄清,问题是:我想重新排序目录搜索顺序以恢复 Ubuntu 14.10 行为。在许多系统上有更好的方法可以做到这一 pip ,但我想使用内置的 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
位于内置目录之上。
最佳答案
关于python - pip 无法升级 ubuntu 15.04 中的内置包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30331390/