apt-get安装旧版本的软件包(Ubuntu)

时间:2014-05-06 14:53:05

标签: python ubuntu pip virtualenv packages

我正在尝试在我有权访问的服务器(运行Ubuntu 12.04.4 LTS)上安装pipvirtualenv,但我只能使用sudo apt-get install执行此操作(学校政治)。问题是,虽然我已经运行sudo apt-get update命令来更新包列表,但我认为它会继续安装旧包。完成sudo apt-get install python-pip python-virtualenv后,我会pip --version 1.0virtualenv --version1.7.1.2我得到pip。这两个版本相当陈旧(1.5.5已位于virtualenv中,1.11.5位于sudo apt-get update中。我读到问题是包列表不是最新的,但命令{{1}}应该解决这个问题,但我猜不是。我怎么解决这个问题?非常感谢!

2 个答案:

答案 0 :(得分:2)

apt-get update更新Ubuntu软件包目录中的软件包,与主流版本无关。

Ubuntu中的

LTS代表长期支持。这意味着在一段时间之后,他们只会向包发布与安全相关的错误修正。通常,主要版本的软件包不会在主要的Ubuntu版本中发生变化,以确保保持向后兼容性。

那么,如果你唯一能做的就是apt-get update,你有2个选择:

  • 找到一个PPA,提供您需要的更新版本的软件包,添加它并重复更新/安装练习
  • 在其他地方找到这些包,以.deb格式下载并安装。

答案 1 :(得分:2)

如果您确实需要使用最新稳定版本的Python软件包,请不要使用apt-get来安装Python软件包并使用pip代替。如果您使用apt-get并稍后通过pip或(最好不是)easy_installsetup.py安装相同的软件包,则可能会遇到版本冲突,为什么你的基于python的命令是意想不到的版本,或者更糟糕的是,为什么它们根本不起作用。

我尝试遵循这种模式:

1。系统范围的pip安装首先

使用此处的说明:http://pip.readthedocs.org/en/latest/installing.html查找get-pip.py脚本,下载并以python脚本运行。

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
$ rm get-pip.py

2。使用pip安装virtualenv系统范围

这应该像以下一样简单:

$ sudo pip install virtualenv

3。 (可选)安装virtualenvwrapper - 系统范围或用户配置文件

$ sudo pip install virtualenvwrapper

并按照说明进行配置。

4。从现在开始,在virtualenv环境中安装

这可以防止各种版本的包之间发生冲突。

您可以根据需要逐个更新特定的virtualenvs。

5。 (可选)配置安装缓存目录以了解安装速度

有一些方法可以加快重复安装软件包的方法,如果你经常使用virtualenv,会有什么方法。有关详细信息,请参阅我的回答:https://stackoverflow.com/a/18520729/346478