如何在电脑上管理不同的Python版本
我最近把操作系统从 Debian 7 换成了 Arch Linux。在 Debian 7 上,默认的 Python 版本是 Python 2.7,而在 Arch Linux 上,默认的是 Python 3.4。
我之前在 Debian 7 上用 BeautifulSoup4 写了一个爬虫程序,现在想在 Arch Linux 上运行这个程序。
我用 sudo pacman -S python-pip
来安装 pip,然后用 sudo pip install beautifulsoup4
安装 BeautifulSoup4。不过这次这个包被安装到了 /usr/lib/python3.4/site-packages/
目录下。
我知道我可以把 bs4 下载到我的爬虫程序目录里,然后用 Python 2 来运行,但我只是想知道在安装了两个 Python 版本的情况下,如何使用 pip
来安装包。另外,如果我把默认的 Python 链接改成 Python 2,会不会导致系统出问题?
3 个回答
在Archlinux系统中,通常会提供以python-
开头的包来支持Python 3.x版本,而以python2-
开头的包则是用于Python 2.x版本。你还可以使用virtualenv这个工具来管理本地的Python环境,这样你就可以同时拥有一个Python2的项目和一个Python3的项目,而它们之间不会互相干扰。
试试用 python2-pip
和 pip2
或者 pip2.7
。
在 Arch Linux 系统中,所有的 Python 3 包都没有版本号,而所有的 Python 2 包都有一个 2
。命令也是这样。
如果你想选择脚本使用哪个版本,可以在脚本的开头加上版本号。
#! /usr/bin/env python2
或者
#! /usr/bin/env python3
我不确定 Debian 系统是否有 python2
的链接,但在 /usr/bin/python
指向 python2.7
的系统上,可以很容易地创建这个链接。
sudo ln -s /usr/bin/python /usr/bin/python{2,2.7}
"在Arch Linux上,默认的版本是Python 3.4" - 哇,这个目标真高。
Arch Linux的Python维基提供了很多实用的建议。你应该安装 python2-pip
,这样可以确保为正确的版本安装pip。