安装新版本的Python会与旧版本冲突吗
我刚开始学习编程,正在安装Python 3.2,但我知道我的电脑上还有一个旧版本的Python。其实,我觉得Macbook自带了这个旧版本。请问我在学习Python的时候,是否需要担心电脑上有不同版本的Python呢?
7 个回答
一般来说,你应该没问题。因为Mac是基于BSD的,所以它会把“python”这个命令指向你系统需要的版本,通常是比较旧的版本,比如2.5。你可能需要用像python3
这样的命令来运行你的Python 3程序,但除此之外,你应该不会遇到太多麻烦。
随着你学习的深入,变得更熟练后,你可以开始使用virtualenv
这个工具,为多个项目维护不同的Python安装。
这其实要看你说的是哪个操作系统。我猜你是在说Mac,因为你提到了Macbook。
据我所知,Mac上默认安装了2.5和2.6版本。至少我的Mac上有这两个版本,而我只手动安装了2.7。
你可以通过在终端输入以下命令来检查当前的“系统”Python版本:
// check the version of system python
python --version
// tells you where the system version of python is on your PATH
which python
在像Mac这样的类Unix操作系统上,应用程序并不是像Windows那样“安装”的(这里省略了一些细节)。相反,应用程序的文件会放在文件系统的不同地方。例如,安装2.7时,Python默认会放在以下目录:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
因为这个目录不在系统的PATH
中,所以当你在命令行中简单地输入python
时,这个版本的Python不会被使用。系统会在PATH
环境变量中搜索名为python的可执行文件。通常它会在/usr/bin/
或类似的地方找到。
如果你想把一个新的Python版本设为“系统”Python,有几种方法:
- 修改你的.bash_profile,把新Python的路径加到
PATH
环境变量的前面。 - 把新版本的Python链接到已经在你的PATH中的目录,比如/usr/bin/。
要注意的是,Mac的Python安装程序可能会修改你的.bash_profile
(在你的主目录下),强制新版本成为默认的系统版本。这是我.bash_profile的内容:
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
你可以在同一系统上愉快地运行多个版本的Python。不过,通常会有一个特定版本作为默认版本,那就是在PATH
中第一个找到的可执行Python文件。
如果你想在某个特定时间使用不同的版本,你可以:
/path/to/python/2.4/python some_script.py
/path/to/python/2.7/python some_script.py
/path/to/python/3.2/python some_script.py
这样会在3个不同的Python版本下执行some_script.py
这个脚本。当然,你需要确保/path/to/python是正确的。
所以,是的,你需要注意你将要使用哪个版本的Python。希望这些信息能帮助你理解应用程序是如何安装的,以及在你不提供路径时,默认启动的是哪个版本的应用程序。
大多数情况下,你不需要担心和系统自带的Python发生冲突。实际上,建议你安装一个不同版本的Python,而不是直接使用系统自带的那个。此外,考虑使用virtualenv
和virtualenvwrapper
,这样可以轻松管理每个项目所需的依赖,而不会产生冲突。