これは、すでに何度も尋ねられたのと同様の質問であることはわかっていますが、信頼できる解決策はまだありません。 2.7から最新の3.7.4まで、多くのバージョンのpythonがUbuntu 16.04にインストールされています。
デフォルトは2.7です。他の人がデフォルトを変更して、システムの故障と同じくらい深刻な問題を引き起こしたので、私はデフォルトを変更すべきではないことを知っています。ただし、pipを使用してソフトウェアをインストールする必要があります。
pip install damn_software
python> = 3.6が必要です
:~$ pip install damn_software
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting damn_software
Using cached https://files.pythonhosted.org/packages/cc/19/632db1d5095a35b08ba000d63e1ceffaf56c730dbd259f021e1fb7a75f68/damn_software-0.1.8.tar.gz
ERROR: Command errored out with exit status 1:
command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qDPgIM/damn_software/setup.py'"'"'; __file__='"'"'/tmp/pip-install-qDPgIM/damn_software/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' Egg_info --Egg-base pip-Egg-info
cwd: /tmp/pip-install-qDPgIM/damn_software/
Complete output (1 lines):
ERROR: Python (3, 5) or later is required by software-helpers for damn_software
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py Egg_info Check the logs for full command output.
これを回避する方法がわかりませんか?多分シンボリックリンク?
[〜#〜] edit [〜#〜]:インストールが完了する前に、次の追加コマンドを実行する必要がありました。
python3.7 -m pip install --user --upgrade pip
python3.7 -m pip install your_packages
Sudo apt install python3.7-dev
次のように、実行するモジュールとしてpip
を使用して、必要なバージョンのPythonインタープリターを実行するだけです。
python3.6 -m pip install some_package
これにより、スクリプトの起動に使用するインタープリターが、pipパッケージの管理と同じであることを100%保証できます。システムの変更は必要ありません。
pip
実行可能ファイルは、いずれにしても、修正されたバージョンとして正確に定義されていません。次の更新では、再度上書きされる可能性があります。さらに、バージョンの非互換性など、他の理由で壊れることがあります。それが何であるかが正確に定義されているvenv(Python仮想環境)にいる場合を除いて、私は通常、それを直接使用しません。