web-dev-qa-db-ja.com

MacOS:自作Pythonをダウングレードする方法は?

MacOS Sierra 10.12.4を実行していますが、homebrew pythonがバージョン2.7.13にアップグレードされました。2.7.10に戻すにはどうすればよいですか?

11
leota

まず、回避できるのであれば、ユーザーの土地コードをシステムpythonに依存することは一般的に悪い習慣と考えられています。システムユーティリティはシステムpythonの特定のバージョンを必要とし、コードはそのpythonバージョンforeverにロックされますが、これは賢明ではありません。

第二に、2.7.13ではなく2.7.10が必要な理由がわかりません。同じマイナーリビジョン番号(2.7)を持つすべてのpythonは、常に互換性があります。 2.6が必要な場合、マイナーバージョンの変更であるため、これは別の話になります。 2.7.x用に記述されたコードはすべて互換性があります。

ただし、ユースケースで特定のPythonバージョンを使用してソリューションを取得する必要がある場合、最初にシステムpythonをアップグレードしたことを確認してください。コマンドを入力する場合:which python、あなたは/usr/bin/python(システム)または/usr/local/bin/python(インストール済みのユーザーランドpythonを作成)。例えば、 /usr/bin/python -Vpython -Vは2.7.13を提供します(醸造経由)。

最新のpython 2.7.xをbrew経由でインストールした場合、/usr/local/bin/pythonシンボリックリンクとして$PATH、または恐らく不要な場所を指すpythonエイリアスがあります。 $ PATHの順序を確認します。

Homebrew pythonを削除してリセットすることができます(brew uninstall python)、またはシンボリックリンクの変更(ln -s -f /usr/bin/python /usr/local/bin/python)。ただし、virtualenvを使用すると、これらの種類の体操の多くの必要性がなくなります。

以前のバージョンのPython homebrew経由でインストールされたもの)で猿になりたい場合は、この答えが役立ちます: Brewを使用して古い式をインストールする方法は?

最後のオプション:特定のpythonバージョンが絶対に必要な場合は、 pyenv が役立ちます。

brew install pyenv
pyenv install 2.7.10
pyenv global 2.7.10
6
mattmc3

brew switchでバージョンを切り替えることができます。たとえば、私はPython 3.7.0から3.6.5にこのようにダウングレードしました:

brew switch python 3.6.5

残念ながら、brew versionsコマンドは廃止され、現在はかなり複雑です 利用可能なバージョンを見つけるため 。私はこれに対する簡単な解決策を聞きたいです。一方、切り替えたいバージョンがわかっている場合は、上記のコマンドを試してください。

私はここでvirtualenvsが良いアイデアであるという答えに同意しますが、Python homebrewで必要なバージョンを持つことも良いアイデアです。私のvirtualenvsが作成された方法、bin/python/usr/local/bin/pythonへのシンボリックリンクであったため、Pythonがhomebrew経由で更新されたときに問題が発生しました。

24
Joseph Sheedy

ダウンロードpython 3.6.0から https://www.python.org/downloads/release/python-360/

通常のパッケージとしてインストールします。

cd /Library/Frameworks/Python.framework/Versionを実行します

Lsを実行すると、インストールされているすべてのPythonバージョンがここに表示されます。

Sudo rm -rf 3.7を実行します

python3 -Vで今すぐバージョンを確認すると、3.6になります。

0
Sidharth Taneja