1. ホーム
  2. パイソン

[解決済み】pyenv、virtualenv、anacondaの違いは何ですか?

2022-04-20 10:48:09

質問

私はPythonを学ぼうとしているrubyプログラマーです。pyenvはrbenvのコピー&ペーストのようなものなので、私はかなり精通しています。Pyenvは、システム内に複数のバージョンのpythonを持つことを可能にし、また、システムの敏感な部分に触れることなくpythonを分離するのに役立ちます。

Pythonのインストールには、pipパッケージが付属していますね。私はまだ理解していないのは、このvirtualenvとanacondaを使うことを推奨する多くの良いPythonライブラリがそこにあるということです。私はpyenvのためのvirtualenvのプラグインを見つけることさえできます。

今、私はこの2つのpyenvとvirtualenvの目的が分からなくなってきています。 pyenvの中にvirtualenvのプラグインがあるのが悪い。

質問は以下の通りです。

  • pyenvとvirtualenvの違いは何ですか?
  • pyenv と virtualenv の両方で pip コマンドを使用することに違いはありますか?
  • このpyenv virutalenvは何をするのですか?

例を挙げて説明していただけると幸いです。

どのように解決するのですか?

編集部:特筆すべきは pip として、ここでも condapip は、このトピックに関連する類似点と相違点があります。 .

pip: Python パッケージマネージャです。

  • を思い浮かべるかもしれません。 pip は、Python における ruby の gem コマンド
  • pip はデフォルトでは python に含まれません。
  • Pythonのインストールは ホームブリュー をクリックすると、自動的にpipがインストールされます。 brew install python
  • OSXの最終バージョンでは、デフォルトでpipが含まれていません。mac システムの python のバージョンに pip を追加するには、次のようにします。 sudo easy_install pip
  • Pythonのパッケージの検索と公開は PyPIです。Pythonパッケージインデックス
  • requirements.txtは、rubyと同等です。 gemfile
  • 要求事項のテキストファイルを作成する。 pip freeze > requirements.txt
  • この時点では、システムに python がインストールされており、システムにインストールされたすべての python パッケージの概要を示す requirements.txt ファイルが作成されていることに注意してください。

pyenv: Python バージョンマネージャ

  • ドキュメントより : pyenv は、複数のバージョンの Python を簡単に切り替えることができます。シンプルで邪魔にならず、一つのことをうまくやる単一目的のツールという UNIX の伝統に従っています。このプロジェクトは、rbenv と ruby-build からフォークされ、Python 用に修正されたものです。
  • 多くの人々 Python3 を使うのをためらう .
  • 異なるバージョンのpythonを使用する必要がある場合。 pyenv を使えば、簡単に管理できます。

virtualenvです。Python環境マネージャー。

  • ドキュメントより : 基本的な問題は、依存関係やバージョン、そして間接的なパーミッションの問題です。LibFooのバージョン1を必要とするアプリケーションがあり、別のアプリケーションはバージョン2を必要とするとします。この両方のアプリケーションを使うにはどうしたらいいでしょうか?もしすべてを /usr/lib/python2.7/site-packages (またはあなたのプラットフォームの標準的な場所) にインストールすると、アップグレードすべきでないアプリケーションを意図せずにアップグレードしてしまう事態に陥りがちです。
  • を作成するには virtualenv を呼び出すだけです。 virtualenv ENV ここで ENV は、新しい仮想環境を配置するディレクトリです。
  • を初期化するために virtualenv が必要です。 source ENV/bin/activate . 使用を中止するには、単に deactivate .
  • を起動したら virtualenv を実行することで、ワークスペースのパッケージ要件をすべてインストールすることができます。 pip install -r に対して、プロジェクトの requirements.txt ファイルを作成します。

Anaconda: Package Manager + Environment Manager + Additional Scientific Libraries.

  • ドキュメントより : Anaconda 4.2.0 には、Python (2.7.12, 3.4.5, and/or 3.5.2) の簡単なインストールと、100 以上のビルド済みテスト済み科学分析 Python パッケージ(NumPy、 Pandas、 SciPy、 Matplotlib、 IPython など)、さらに 620 以上のパッケージの更新が含まれており、簡単な操作で利用可能です。 conda install <packagename>
  • Web開発者としては、Anacondaは使ったことがない。全パッケージを含めても~3GBです。
  • スリム化した miniconda を使うよりも、もっとシンプルなオプションになりそうです。 pip + virtualenv 個人的に使用した経験はないのですが。
  • 一方 conda は、パッケージをインストールすることができますが、これらのパッケージはPyPIパッケージとは別物なので、インストールする必要があるパッケージの種類によっては、まだ追加でpipを使う必要があるかもしれません。

こちらもご覧ください。