1

我目前正在做一些嵌入式系统编程。这是几年前别人设置的。所以现在我希望升级到 Python 2.7.2 以使事情变得更简单,因为我已经遇到了两种不支持我编写的代码的情况。

当前正在运行的内容:

: uname -a
Linux host1 2.6.18-6-486 #1 Sun Feb 10 22:06:33 UTC 2008 i586 GNU/Linux
: python -v
Python 2.4.4
: pyversions -i
python2.4

所以现在只安装了 2.4。

我解压缩了 python2.7.2,当我进入该目录并运行python27 setup.py install --home=/home/jhemilian时,似乎 python2.4 似乎不知道with...as语句语法:

host1:/home/jhemilian/src/Python-2.7.2: python setup.py install --home=/home/jhe
milian
  File "setup.py", line 361
    with open(tmpfile) as fp:
            ^
SyntaxError: invalid syntax

在我弄清楚这一点之前,我首先有一个问题:python 本身被用来安装 Python?如果我没有安装 Python 的第一个版本怎么办?我知道大多数 Linux 都附带了它,但假设是——这样一个看起来像这样的 catch-22 是如何工作的?

我要做的是将python2.7安装在一个良性位置,保持python命令仍然使用Python 2.4,以防我正在运行的“旧”软件依赖于它,并python2.7 myscript.py在我想运行时运行等等我的新脚本之一。如果有更清洁或更实用(甚至更安全!)的方式来做到这一点,请随时发表评论。

我认为用兼容的 try 块替换所有 with 语句没有多大意义。我查看了自述文件和在线文档,但我似乎找不到在没有 Python 的情况下安装 Python 的方法。请注意,我没有互联网连接,但如果需要或必要的话,我可以。如果有人能指出我正确的方向,那就太好了。谢谢!!

4

4 回答 4

1

尝试阅读这个SO 问题。

另请阅读线程。我希望你能解决问题。

于 2012-03-29T19:00:59.823 回答
0

编辑: virtualenv 显然适用于已安装的 Python 版本。忽略此建议。

我认为您想要的是virtualenv

我自己没有使用过它,但我知道这就是它的意思。

网站

virtualenv是一个创建隔离 Python 环境的工具。

正在解决的基本问题是依赖关系和版本之一,以及间接权限。想象一下,您有一个应用程序需要 LibFoo 版本 1,但另一个应用程序需要版本 2。您如何同时使用这两个应用程序?如果您将所有内容都安装到 /usr/lib/python2.7/site-packages(或任何您平台的标准位置)中,很容易导致您无意中升级了不应升级的应用程序。

编辑:经审查,我认为您想要 Alberto 的答案,所以我投票支持他以提高知名度。

于 2012-03-29T18:36:51.873 回答
0

安装过程在多个地方进行了描述。

于 2012-03-29T18:45:14.270 回答
0

在 README 中没关系...

你不需要使用python来安装,其实你不应该……只是:

./configure
make
make install

如果要安装在特定目录中,只需按照 README 中的说明进行操作:

安装

要安装 Python 二进制文件、库模块、共享库模块(见下文)、包含文件、配置文件和手册页,只需键入

    make install

这会将所有与平台无关的文件安装在使用 --prefix 选项配置的目录的子目录中,或者安装到 prefix' Make variable (default /usr/local). All binary and other platform-specific files will be installed in subdirectories if the directory given by --exec-prefix or theexec_prefix 的 Make 变量(默认为 --prefix 目录)。

如果设置了DESTDIR,它将作为安装的根目录,文件将被安装到$(DESTDIR)$(prefix)、$(DESTDIR)$(exec_prefix)等。

所有创建的子目录都将在其名称中包含 Python 的版本号,例如库模块默认安装在“/usr/local/lib/python/”中,其中 . 版本号(例如“2.1”)。Python 二进制文件安装为“python”,并创建了一个名为“python”的硬链接。唯一没有安装名称中带有版本号的文件是手册页,默认安装为“/usr/local/man/man1/python.1”。

如果您想安装多个版本的 Python,请参阅下面标题为“安装多个版本”的部分。

唯一可能需要手动安装的是在 Misc/python-mode.el 中找到的 Emacs 的 Python 模式。(但话说回来,Emacs 的更新版本可能已经有了它。)按照 Emacs 附带的说明安装特定于站点的文件。

于 2012-03-29T19:00:58.913 回答