我正在尝试在我有权访问的服务器(运行Ubuntu 12.04.4 LTS)上安装pip
和virtualenv
,但我只能使用sudo apt-get install
执行此操作(学校政治)。问题是,虽然我已经运行sudo apt-get update
命令来更新包列表,但我认为它会继续安装旧包。完成sudo apt-get install python-pip python-virtualenv
后,我会pip --version
1.0
,virtualenv --version
和1.7.1.2
我得到pip
。这两个版本相当陈旧(1.5.5
已位于virtualenv
中,1.11.5
位于sudo apt-get update
中。我读到问题是包列表不是最新的,但命令{{1}}应该解决这个问题,但我猜不是。我怎么解决这个问题?非常感谢!
答案 0 :(得分:2)
apt-get update
更新Ubuntu软件包目录中的软件包,与主流版本无关。
LTS
代表长期支持。这意味着在一段时间之后,他们只会向包发布与安全相关的错误修正。通常,主要版本的软件包不会在主要的Ubuntu版本中发生变化,以确保保持向后兼容性。
那么,如果你唯一能做的就是apt-get update
,你有2个选择:
.deb
格式下载并安装。答案 1 :(得分:2)
如果您确实需要使用最新稳定版本的Python软件包,请不要使用apt-get
来安装Python软件包并使用pip代替。如果您使用apt-get
并稍后通过pip
或(最好不是)easy_install
或setup.py
安装相同的软件包,则可能会遇到版本冲突,为什么你的基于python的命令是意想不到的版本,或者更糟糕的是,为什么它们根本不起作用。
我尝试遵循这种模式:
使用此处的说明: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
virtualenv
系统范围这应该像以下一样简单:
$ sudo pip install virtualenv
$ sudo pip install virtualenvwrapper
并按照说明进行配置。
这可以防止各种版本的包之间发生冲突。
您可以根据需要逐个更新特定的virtualenvs。
有一些方法可以加快重复安装软件包的方法,如果你经常使用virtualenv,会有什么方法。有关详细信息,请参阅我的回答:https://stackoverflow.com/a/18520729/346478