[英]Pip can't upgrade a built-in package in ubuntu 15.04
我似乎无法升级已安装在Ubuntu 15.04中的软件包。 Pip仍然可以正常工作,将软件包安装到/usr/local/python2.7/dist-packages
,但路径列表顶部是/usr/python2.7/dist-packages
,甚至PYTHONPATH
也无法获得高于该行的内容。 我相信这适用于较旧的Ubuntus。 我一直试图在/usr/python/site.py
找到一些东西,但它似乎做对了。 添加-S
似乎确实阻止非本地版本位于顶部。 我相信,我在两台电脑上看过这个。
需要的一些例子:更新以获得所需的功能/错误修复(对于PILLOW,在我的情况下),没有APT卸载一堆列出该包作为要求的包。
编辑:为了澄清,问题是:我想重新排序目录搜索顺序以恢复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
dirs首先出现,然后是当地的dist-packages
在内置之上。
使用virtualenv :
安装virtualenv
$ sudo apt-get install python-virtualenv
在MYENV目录中创建环境
$ virtualenv MYENV
激活当前shell中的环境(您的应用程序在其启动脚本上也需要它)
$ . MYENV/bin/activate
使用位于MYENV目录中的venv的pip / python(你自己)
(MYENV)$ pip ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.