繁体   English   中英

如何在没有安装以前版本的情况下在 Linux 中安装 Python

[英]How to install Python in Linux without previous version installed

我目前正在做一些嵌入式系统编程。 这是几年前别人设置的。 所以现在我希望升级到 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 的方法。 请注意,我没有互联网连接,但如果需要或必要的话,我可以。 如果有人能指出我正确的方向,那就太好了。 谢谢!!

尝试阅读 SO问题。

另请阅读主题。 希望您能解决问题。

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

我认为您想要的是virtualenv

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

网站

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

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

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

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

在 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 the 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 the

如果设置了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 附带的说明安装特定于站点的文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM