PyCharmで新しいプロジェクトを作成すると、新しい仮想環境が作成されます。 Pythonスクリプトを実行すると、システム環境ではなく、この環境のインタープリターを使用して実行されることを読みました。したがって、いくつかのパッケージをインストールする必要がある場合、これにのみインストールできますシステム環境ではなく、環境です。
Anaconda Environmentについても読みました。新しいAnaconda環境を作成すると、システムenvとは別に新しい環境が作成されます。私のプロジェクトでは、この環境を使用して、メインシステム環境ではなく、ここに必要なパッケージのみをインストールできます。
さて、私の質問は、PyCharmによって作成された仮想環境とAnacondaによって作成された環境の違いは何ですか? PyCharmによって作成された仮想環境は約15-20MBで、Anacondaの仮想環境は90MBです。だから、違いがあるに違いない。また、Anaconda Environmentインタープリターを使用するようにPyCharmを構成できることを読みました。
それでは、PyCharmとAnacondaによって作成された環境の違いは何ですか?
anaconda
は単なるコレクションであることを明確にする必要があります。実際の環境マネージャーはconda
です。 ここ はminiconda
です。完全なanaconda
コレクションではなく、環境を管理するために必要な部分のみが含まれています。
conda
は単純なPythonパッケージマネージャーを超えていますが、システム全体のパッケージマネージャーです。痛みを伴わずにパッケージをインストールするのに役立ちます。古典的な例はnumpy
on Windows。conda
なしでは、入手が困難な特定のCコンパイラが必要なため、本当に困難ですが、conda
を使用すると、numpy
だけでインストールできます。 1つのコマンドconda install numpy
。コンパイラの問題とCの依存関係を自動的に解決します。
質問に戻って、Pycharmでenvを作成すると、Virtualenv Environment
、Conda Environment
、またはPipenv Environment
のどのenvを作成するかを尋ねられます。私に関しては、Pipenv Environment
を選択します。このenvは現在のプロジェクトにバインドされ、ロックファイルを生成できるためです。
この場合、あなたは今それを理解できると思います:「PyCharmによって作成された」または「Anaconda」という名前のenvはありません。 「Virtualenv、Conda、またはPipenvによって作成された」という名前のenvのみがあります。そして、Pycharmはそのうちの1つを使用してラップするだけです。
それでは、Conda Environment
とVirtualenv Environment
(Pipenv Environment
は本質的にVirtualenv Environment
と洗練されたpip
)の違いは何ですか?違いは、目的が異なることに起因します。
Conda Environment
は通常「Pythonユーザー」用です。彼らはPythonをWebクロール、データマイニング、画像処理などの他の作業を行うためのツールとして使用します。Pythonについてはあまり知らないので(知っている必要はありません) conda
は可能な限り自動です。また、conda
によって作成されたenvはユーザー全体のディレクトリにあるため、タスクはコンピューターのどこにでも配置できます。また、異なるPythonバージョン。これはconda
ではできますが、virtualenv
ではできません。
Virtualenv Environment
は通常「Python開発者」用です。彼らはPython=を使用してアプリケーションまたはパッケージをビルドします。Virtualenv
によって作成されたenvは通常、現在のプロジェクトのディレクトリにあります。したがって、すべてのアプリケーションに対してenv 。
総括する:
Conda Environment
:
Virtualenv Environment
:
pipenv
はデフォルトでユーザー全体のディレクトリにenvを作成しますが、多くの人はプロジェクトディレクトリではデフォルトを使用するべきだと考えています)。私にとっては、両方を使用します。 conda
を使用して異なるPythonバージョンを管理し、pipenv
を使用してアプリケーションの依存関係を管理します。
どちらの環境もpythonの virtualenv に基づいているため、競合を心配することなく、それらを個別に使用し、必要に応じてパッケージを構成(またはインストール)できます。これは、virtualenvの本質です。
Anacondaは、pythonディストリビューション(Linuxディストリビューションと同様))です。デフォルトでは、その意見に基づいて他のパッケージを追加しますしたがって、インストールはプレーンなVanilla pythonをインストールする場合よりも大きくなり、これが仮想環境が非常に大きい理由でもあります。
PycharmはIDEであり、たまたまpythonのvirtualenv機能をサポートしています。そのため、必要に応じて作成できます。単純なpython distroを使用して作成できるため、お気づきのとおり、これはAnacondaのようなディストリビューションを使用する場合よりもサイズが小さくなります。
サイズの問題はAnacondaに固有のものではありません。anacondaconda list
によってインストールされたすべてのパッケージをリストし、「軽量」virtualenvに手動でインストールすると、サイズも大きくなります。あなたが私の主張を得ると信じています。