[解決済み】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
として、ここでも
conda
と
pip
は、このトピックに関連する類似点と相違点があります。
.
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を使う必要があるかもしれません。
こちらもご覧ください。
- condaとpipとvirtualenvの比較 (anacondaのドキュメントのセクション)
- pipとcondaの違い (スタックオーバーフロー)
- virtualenvとpyenvの関係 (スタックオーバーフロー)
関連
-
Pythonの非常に便利な2つのデコレーターを解説
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] リストとタプルの違いは何ですか?
-
[解決済み] pipとcondaの違いは何ですか?
-
[解決済み] pipでインストールしたすべてのパッケージを削除する最も簡単な方法は何ですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenvなどの違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python jiabaライブラリの使用方法について説明
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み] pipとcondaの違いは何ですか?
-
[解決済み】Condaはvirtualenvの必要性を代替するか?
-
[解決済み】virtualenvとpyenvの関係とは?