ubuntu 中有两个 python 怎么办

2016-11-11 11:01:47 +08:00
 skyboy
在 新安装的 ubuntu 中执行 sudo apt-get install python 3.5 ,然后查询 python -V 显示 2.7 , python3 -V 显示 3.5.

但是想让 ubuntu sublimetext 用 python3.5 的语法怎么办。执行 sudo apt-get autoremove python ,完毕。

查询 python -V 还是现实 python2.7. python3 -V 显示 3.5 。而在 sublimetext 中新建一个 test.py 文件,输入:

print "hello wold";
print("hello world");

按 ctrl+b 都能通过,请问怎么干净去掉 python 2.7,让 ubuntu 和 sublimtext 只使用 python3.5.
3826 次点击
所在节点    问与答
20 条回复
zipipi
2016-11-11 11:05:31 +08:00
不是可以指定版本的么
shaoS
2016-11-11 11:17:50 +08:00
把 /usr/bin/python -> python2.7 改成这样 /usr/bin/python -> python3.5
SpicyCat
2016-11-11 11:24:05 +08:00
http://itcoding.tk/2016/06/19/python-alternatives/
上面那篇博文说的比较全面。
如果主力用 Ubuntu 的话,建议详细了解一下 update-alternatives ,它是 Debian 系管理多版本软件的工具,不仅适用 Python ,而且还使用 Java 等各种有多版本共存需求的软件。
它跟 virtualenv 这种虚拟环境不同的是, update-alternatives 管理的是系统级的软件版本, virtualenv 管理的是当前用户下的一个虚拟环境。
当然就你的需求而言,只要你在 virtualenv 启动的虚拟环境下打开 sublime ,那也没问题,但终究不方便。
hosiet
2016-11-11 11:34:49 +08:00
不要试图修改系统指定的 python 解释器,不要卸载,不要改软链接。修改的后果是严重的,对 python 2/3 有严格区分的软件会集体崩掉。
feather12315
2016-11-11 11:35:45 +08:00
楼上说法正确。
skyboy
2016-11-11 11:49:38 +08:00
@hosiet 那我想问,这样两个版本共存的情况下。我在 sublimetext 中编辑.py 文件,执行时他到底用的是 python2.7 的语法,还是用的 3.5 的语法。这两个版本到底哪个起作用,在此感觉迷糊了。
hosiet
2016-11-11 11:54:07 +08:00
这你需要看 sublime 究竟是调用 python / python2 / python3 / python2.7 / python3.5 中的哪一个做解释器,以及究竟有没有选项进行修改。

我不用 sublime 所以并不知道。
yxcxx
2016-11-11 11:57:40 +08:00
为什么不试试
#! /usr/bin/env python3
#! /usr/bin/env python2
dexterzzz
2016-11-11 12:26:54 +08:00
用 anaconda
sensui7
2016-11-11 12:33:32 +08:00
@skyboy 你管他用那个呢? sublime 还内置了 python 呢?自己手动创建个 build 配置就行了。
kkzxak47
2016-11-11 12:55:19 +08:00
想 ctrl+b build 那就在 sumlime text 里配置 build 啊,查文档啊,改系统是怎么回事???
neosfung
2016-11-11 13:04:13 +08:00
尽量用 pyenv
LigeLaige
2016-11-11 13:19:07 +08:00
去掉 py2 或 py3 是作死,如果可以去,发行版中早就去了
你可以可以在 python 程序第一行写成
#!/usr/bin/env python

#!/usr/bin/env python2

#!/usr/bin/env python3
以指定对应版本

再次强调,##去掉 py2 或 py3 是作死##
whwq2012
2016-11-11 13:22:31 +08:00
别删除啊,不用就行了,我曾经就在服务器上作死地删除了自带的 python ,然后一堆系统软件依赖,最后系统没法用了,只能重装
panda1001
2016-11-11 13:22:39 +08:00
建议自己编译安装 python+virtualenv ,每次要用就切换不同的环境
noe132
2016-11-11 13:47:21 +08:00
Ubuntu 不要删掉 python 。 。否则一堆问题。
修改 sublime 的编译配置文件就好了
bsns
2016-11-11 14:40:25 +08:00
我 14.04 时把系统默认 python 链接为 3.结果重启后出了问题,最后忘了怎么改回去的了,估计是重装了。
chousb
2016-11-11 14:42:16 +08:00
不要作死,删 python 你系统肯定挂。
sublime 写 python ,你看一下 build 文件怎么写的就行了。
HackerOO7
2016-11-11 15:30:36 +08:00
我是修改 Anaconda 的配置文件指定 python_interpreter
wohenyingyu02
2016-11-11 17:07:11 +08:00
python3 -m venv ~/PyEnv
每次使用前进入环境:
source ~/PyEnv/bin/activate
使用后退出环境
deactivate

不谢。

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

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

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

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

© 2021 V2EX