请教: python2.7 如何兼容更低版本的 Python ?

2017-08-21 13:44:10 +08:00
 liupengs
情况是这样的,我现在开发的程序是用 Python2.7 开发的,但是有些服务器只安装了 Python2.6,如何在这些服务器上运行我的程序呢(不能强制这些服务器安装 python2.7 )?
我的想法是可不可以让开发的程序自带 python2.7,在服务器上安装我开发的程序的时候也安装 python 2.7,但是 python 2.7 只供我的程序使用,且不影响服务器上原来的 2.6。
请问一下上面这个想法能不能实现呢?如果能够实现又该如何实现呢?(先不考虑将原来的代码改成 2.6 的)
3089 次点击
所在节点    Python
15 条回复
notreami
2017-08-21 14:01:02 +08:00
这时候突然觉得 Java 好牛掰,1.3 的代码,稍微调整下 java8 也能运行。
ppwangs
2017-08-21 14:03:24 +08:00
封装到 docker 里。
SlipStupig
2017-08-21 14:04:15 +08:00
upgrade to python2.7
然后在老的程序最上面写一行
# !/usr/bin/python2.x env
Famio
2017-08-21 14:05:00 +08:00
惭愧惭愧,整天在 V2 混,不经意间以为 python 只有 2.7 和 3 ……
liupengs
2017-08-21 14:07:19 +08:00
@ppwangs 让用户装 docker,他们肯定不愿意!
liupengs
2017-08-21 14:08:42 +08:00
@SlipStupig 代码是给用户用,用户以为他们是上帝,他们肯定不愿意改老代码。
Kilerd
2017-08-21 14:14:02 +08:00
pyenv
aksoft
2017-08-21 14:17:33 +08:00
用户是上帝,你是盘古,懂不?
Tink
2017-08-21 14:32:09 +08:00
virtualenv
chinvo
2017-08-21 14:34:41 +08:00
virtualenv
wangxkww
2017-08-21 14:41:51 +08:00
> 让开发的程序自带 python2.7,在服务器上安装我开发的程序的时候也安装 python 2.7,但是 python 2.7 只供我的程序使用,且不影响服务器上原来的 2.6。

这个可以实现啊。

如果你通过源码安装 python2.7,你在./configure 的时候指定下安装路径,只有你的程序用这个路径下的 python 就行了

如果你通过 rpm 安装 python2.7,你可以

```shell
cd my-dir;
rpm2cpio python27.rpm | cpio -idv
```
然后只让你的程序用解包出来的这个 python 执行就行了
chroming
2017-08-21 14:45:22 +08:00
把用到 2.7 特性的地方改写成低版本兼容的
或者打包成可执行程序
tempdban
2017-08-21 14:50:57 +08:00
virtualenv 不就是你的需求么
lzhr
2017-08-21 14:58:55 +08:00
Zuckonit
2017-08-22 09:37:21 +08:00
virtualenv, pipenv, pyenv

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/384524

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX