简单的方法:

简单的方法:

我讨厌扮演一个讨厌的、愚钝的人,不知道自己在说什么。但不幸的是,就 Linux 而言,这就是我……

我正在使用 zipfile 模块在 python 中执行一些文件操作。当前安装的 python 版本是 2.4.3,但 zipfile 模块使用“with”语句,我认为它是在 2.5 版中出现的(我还需要使用 tarfile 模块;虽然我还没有测试过,但我想我会遇到同样的问题)。

我目前的行动计划是弄清楚如何升级 python 安装。但是,我对 linux 一无所知,对 python 也知之甚少,我甚至不知道从哪里开始。我看了一些类似的帖子,其中提到将它安装在另一个目录中。但我一开始并没有安装它。我甚至不知道如何在 linux 中安装东西……

任何帮助都将不胜感激!另外,如果有比尝试更新 Python 更好的方法,我完全愿意接受建议。请记住:我的 Linux 智力大约相当于四岁儿童的智力。谢谢!

答案1

在 Linux 上升级 Python 最简单的方法是让别人帮你升级;你的发行版上通常有很多人专门为你打包升级分发。在你撸起袖子开始工作之前,看看他们是否已经完成了工作。

基本上,这意味着了解您的发行版使用哪种类型的包管理器,然后查看下一个版本是否可用。这种技术存在缺点:

  1. 您的发行版本可能较旧并且不再提供更新。
  2. 您的发行版可能更看重稳定性而非尖端技术,并且尚未决定下一个版本是否足够稳定(或经过充分测试)。
  3. 您的发行版可能没有打包所需的模块,因此您必须自行安装它们。

对于我的发行版,rpm是包管理器,yum 是命令行前端。要使用 yum 检查包是否存在更新,我输入

yum check-updates <package name>

并更新我输入的内容

yum update <package name>

无论您对 Python 模块的结果如何,您都应该了解一些有关包管理器的知识以及如何使用它,以避免在关键时刻需要匆忙学习它。

如果您找不到适合您的版本,有时在 Google 上搜索会找到为您的发行版打包了正确版本的人,即使您的发行版尚未打包。如果是这样,并且您相信其他人没有做恶意的事情,那么您通常可以安装他们的软件包。

如果不存在预先打包的版本,那么您就会陷入困境,需要阅读特定项目的“如何安装”页面,而对于 Python,它非常符合 Maxime 的“困难方式”,这可能听起来很吓人,但在您做了几次之后,您就会意识到它其实并没有那么难。

请记住,在包管理器知识范围之外安装的软件可能永远不会被包管理器知道,因此将来使用该软件的包管理器可能需要特殊处理,以防止包管理器执行某些操作,如果你的 Python 版本不是已安装。

答案2

简单的方法:

直接使用 zip 命令,而不是使用旧的 zip 模块:

import subprocess
subprocess.call('unzip <path to your file>')

或者,使用 subprocess.Popen。

提交我的答案后,我想给这一部分加上标题:

困难之路:

根据 Python 版本猜测您使用的是 Red Hat 5 或 CentOS 5。

以下是我在工作时使用 Red Hat 5.8 时的情况:

oz@server ~ $ /usr/bin/python                                            
Python 2.4.3 (#1, Dec 22 2011, 12:12:01) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> f = open('/etc/redhat-release')                                             
>>> f.readlines()
['Red Hat Enterprise Linux Server release 5.8 (Tikanga)\n']

大多数其他 Ubuntu 版本和 Debian 都有较新的 Python 版本。

无论如何,升级 Python 应该是这样的:

  1. 首先,您需要知道管理员密码(Linux 世界中的 root)。
  2. 输入“su”切换到 root - 注意,这是一个危险的情况。成为 ROOT 是很危险的。
  3. 类型:
yum groupinstall "development tools" -y     
yum install readline-devel openssl-devel gmp-devel ncurses-devel gdbm-devel \
glib-devel expat-devel libGL-devel tk tix gcc-c++ \ 
libX11-devel glibc-devel bzip2 tar tcl-devel tk-devel pkgconfig \
tix-devel bzip2-devel sqlite-devel autoconf db4-devel libffi-devel \
valgrind-devel -y    
mkdir tmp  
cd tmp  
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz  
tar xvfz Python-2.7.5.tgz  
cd Python-2.7.5

这很重要,否则你将抹去你的系统 PYTHON !!! 你不想这样做,因为许多系统组件都依赖于 Python。

./configure --prefix=/opt/python2.7 --enable-shared

不,编译软件本身:

make

然后安装它:

make altinstall

不要错过--prefix = / opt ./configure --prefix = / opt / python2.7

最后,您需要设置 PATH 变量以包含安装 Python 的 python。

export PATH=$PATH:/opt/python2.7/bin/

为了使其永久生效,请编辑您的 .bashrc,并添加上述行!

祝你好运,欢迎来到 Linux :-)

答案3

不确定为什么从源代码构建 Python 会遭到如此大的阻力,因为它真的很简单:

$ tar jxf Python-2.7.3.tar.bz2   # unpack the source tarball
$ cd Python-2.7.3                # cd into the source directory
$ ./configure --prefix=$HOME     # configure for your system
$ make                           # build everything
$ make install                   # install (in $HOME/bin, $HOME/share, etc )

如果您对安装步骤感到紧张,请先make DESTDIR=/tmp/foo install在 /tmp/foo 中安装所有内容。检查该目录树,然后(当然,rm -rf /tmp/foo 除非您在开始该过程之前有重要文件!)/tmp/foo

如果出现错误,则需要做一些工作,但是构建很有可能不会出现错误。

完成此操作后,你应该可以运行$HOME/bin/python

相关内容