web-dev-qa-db-ja.com

Pythonの複数のバージョンを最新のOS Xにインストールし、それらを並行して使用するにはどうすればよいですか?

複数のPython OS X 10.11上のバージョンを含むテストを実行したい:

  • Python 2.6-?!
  • Python 2.7-デフォルト-解決済み
  • Python 3.4-?!
  • Python 3.5-brew経由でインストール-うまく機能
  • Conda Python 3.5-?!

toxを介してテストを実行したいので、toxはそれらを見つけることができる必要があります。悲しいことに、brewは3.5を追加したため3.4をインストールしたくないようで、明らかに3.5を削除したくないのです。

18
sorin

この ブログ投稿 は、pyenvを目的のdetoxとともに使用することを提案しています。 brewを使用した基本的なセットアップには以下が必要です。

brew install pyenv pyenv-virtualenv pyenv-virtualenvwrapper

次に、目的のPythonバージョンがpyenv install [version]のバージョン、ではなくインストールPython using brewpyenv versionsを使用して利用可能なバージョンを確認できます。

最後に、pip install detoxは、toxおよびdetoxがインストールされていることを確認します。その後、tox.iniで目的のテストバージョンを指定できるはずです。

18
user2943160

pyenvはあなたが望むものです。それは非常にうまく機能します:

pyenvを使用すると、複数のバージョンのPythonを簡単に切り替えることができます。シンプルで目立たず、UNIXの伝統である1つの目的に適した単一目的ツールに従っています。このプロジェクトはrbenvとRuby-buildから分岐され、Python用に変更されました。

https://github.com/pyenv/pyenv

Homebrew経由でインストールします。

$ brew update
$ brew install pyenv

さまざまなpythonのダウンロード、コンパイル、およびインストールを処理します。例:

$ pyenv install 3.7.2

インストールしたバージョンとアクティブなバージョンを表示できます。

$ pyenv versions
  system
  3.6.7
* 3.7.2

新しいプロジェクトディレクトリにいるときは、pyenvにどのpythonバージョンを使用するかを指示します。

$ pyenv local 3.6.7  # Because e.g. tensorflow isn't compat. with 3.7 :-(

他のすべての場所で「デフォルト」バージョンを設定できます。

$ pyenv global 3.7.2
5
Dogweather

Anacondahttps://www.continuum.io/downloads などのパッケージマネージャーを使用することを強くお勧めします。これにより、さまざまな自己完結型_virtual-envs_。

たとえば、numpyおよび_Python 2.7_を使用して仮想環境を作成するには、次のコマンドを使用します。

_conda create --name py2_env numpy python=2.7_

そして、その環境に切り替えるには:

_source activate py2_env_

2
flybonzai

pyenvはまったく問題ありませんが、Kenneth Reitzのすばらしいpipenvライブラリについて言及する必要があると思います。

https://github.com/pypa/pipenv

Pyenvの機能に加えて、依存関係のロック、すぐに使える.envのサポートなどを提供します。

0
Carlos