16

我想在 Arch linux 中用 python 2 完全替换 python 3。我已经阅读了https://wiki.archlinux.org/index.php/Python但它只提供了一个临时修复。我需要确保当我打电话时

#!/usr/bin/python

我的程序使用的是 python 2 而不是 python 3。

4

2 回答 2

39

在 Arch 中,/usr/bin/python实际上是一个指向 python3 的符号链接。假设您已经以 root 身份安装了 python2,请将符号链接更改为指向 python2:

cd /usr/bin
ls -l python
    lrwxrwxrwx 1 root root 7  5 sept. 07:04 python -> python3
ln -sf python2 python
ls -l python
    lrwxrwxrwx 1 root root 7 Dec 11 19:28 python -> python2

如果您正在使用该python2-virtualenv软件包,请对以下内容执行相同操作/usr/bin/virtualenv

cd /usr/bin
ln -sf virtualenv2 virtualenv
于 2013-03-14T04:08:41.897 回答
10

更改默认符号链接是个坏主意,它会在 python3 更新时重新创建。相反,创建一个本地python覆盖:

sudoedit /usr/local/bin/python

将其粘贴到里面并保存文件:

#!/bin/bash
exec python2 "$@"

不要忘记使其可执行:

sudo chmod +x /usr/local/bin/python

于 2017-12-16T21:57:52.653 回答