[解決済み】virtualenvとpyenvの関係とは?
質問
最近、自分のワークフローで virtualenv と virtualenvwrapper の使い方を学びましたが、いくつかのガイドで pyenv が言及されているのを見ましたが、pyenv とは何か、virtualenv とどう違うか/似ているかが理解できていないようです。pyenv は virtualenv のより良い/より新しい置き換えなのか、それとも補完的なツールなのか?もし後者なら、pyenv は何が違うのか、そしてこの二つ(と、もしあれば virtualenvwrapper)はどのように一緒に動くのでしょうか?
解決方法は?
Pyenv と バーチャルエンブ は全く異なるツールで、異なる方法で異なることを行うために動作します。
-
ピエンブ はbashの拡張機能で、Windowsでは動作しません。pythonやpipなどの呼び出しをインターセプトして、システムのpythonツールチェーンのうちのひとつに誘導します。 そのため、選択した python のバージョンにインストールされているすべてのライブラリを常に利用することができます - そのため、異なるバージョンの python を切り替える必要があるユーザーに適しています。
-
バーチャルエンブ は純粋な Python であるため、どこでも動作し、コピーを作成します。 オプションで特定のバージョンの Python と pip は、現在のシステムツールチェーンへのリンクを含むかどうかにかかわらず、起動環境に対してローカルにインストールされます。 そのため、テストやデプロイメントにはこちらの方がはるかに適しています。 まさに どのライブラリがどのバージョンで使用されているか、また、グローバルな変更はモジュールに影響を与えないようにします。
ベニュー パイソン3.3
Python 3.3以降では、venvというVirtualEnvのビルトイン実装があることに注意してください(一部のインストールでは、pyvenvというラッパーもあります - このラッパーは次のとおりです)。
Python 3.6で非推奨となった
) を優先的に使用すべきです。ラッパーで起こりうる問題を避けるために、多くの場合
/path/to/python3 -m venv desired/env/path
または、優れた
py
ウィンドウズのパイソンセレクターは
py -3 -m venv desired/env/path
. で指定されたディレクトリが作成されます。
desired/env/path
を設定し、適切に入力します。 一般的には VirtualEnv を使うのと同じような感じです。
追加ツール
上記のうち1つまたは複数のツールを使用する際に役立つため、言及し、検討する価値のあるツールが多数あります。
- VirtualEnvWrapper VirtualEnv -の使用と管理を簡素化します。 クロスプラットフォーム .
- pyenv-virtualenv , によってインストールされます。 pyenv-インストーラ このツールは VirtualEnv を管理し、連携するための PyEnv ツールを提供します - これを使えば、複数のバージョンの Python を含むベースインストールを行い、それぞれの中で分離された環境を作成できます Linux/OS-X . Johann Visagie氏による提案
- PyInstaller は、VirtualEnvの下で開発・テストされたPythonコードを受け取り、それをバンドルして あなたのバージョンの しかし、python がインストールされることは確実でも、python のバージョンとすべてのライブラリがあなたのコードと互換性があるかどうかがわからない場合にも、便利です。
関連
-
python implement mysql add delete check change サンプルコード
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] 0から9までのランダムな整数を生成する
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenvなどの違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
最新
-
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によるjieba分割ライブラリ
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】pyenv、virtualenv、anacondaの違いは何ですか?