[英]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 的方法。 请注意,我没有互联网连接,但如果需要或必要的话,我可以。 如果有人能指出我正确的方向,那就太好了。 谢谢!!
我认为您想要的是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.