web-dev-qa-db-ja.com

Arch Linuxでpython 3をpython 2に完全に置き換えるには

ArchLinuxでpython 3をpython 2に完全に置き換えたい。すでに読んだ https://wiki.archlinux.org/ index.php/Python ですが、これは一時的な修正のみを提供します。

#!/usr/bin/python

私のプログラムはpython 3の代わりにpython 2を使用しています。

15
user1876508

Archでは、/usr/bin/pythonは実際にはpython3へのシンボリックリンクです。すでにpython2をrootとしてインストールしていると仮定して、シンボリックリンクを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
38

デフォルトのシンボリックリンクを変更することは悪い考えであり、python3アップデートで再作成されます。代わりに、ローカルのpythonオーバーライドを作成します。

sudoedit /usr/local/bin/python

これを内部に貼り付け、ファイルを保存します。

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

実行可能にすることを忘れないでください:

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

7
Ivan Semkin