2017-02-10 7 views
2

対conda対私は、Pythonに新たなんだと最近、私はまた、私はパッケージ管理について多くを知らないと希望アナコンダ3に管理パッケージ:PyCharmはピップ

を使用しているWindowsの10にPyCharm 2016.3をインストールそれをよりよく理解する。通常は私はちょうどconda update --allを使用しますが、これはすべてのパッケージを最新バージョンにアップグレードしないことに気付きました(私のローカルPyCharmインタプリタのパッケージリストを調べることによって)。

このようなパッケージの1つは、バージョン4.0.0の枕ですが、conda(4.3.11)は3.4.2を更新しません。私はconda install pillow: 4.0.0を試してみましたが、得た:

UnsatisfiableError: The following specifications were found to be in conflict: 
    - pillow 4.0.0* 
    - python 3.5* 
    - spyder-app 
Use "conda info <package>" to see the dependencies for each package. 

後で私は枕もconda鍛造で利用可能であることが分かったので、私は conda install -c conda-forge pillow=4.0.0を試してみましたが、得た:

The following NEW packages will be INSTALLED: 

    libiconv: 1.14-vc14_4 conda-forge [vc14] 
    libxml2: 2.9.3-vc14_9 conda-forge [vc14] 
    olefile: 0.44-py35_0 conda-forge 
    vc:  14-0   conda-forge 

The following packages will be UPDATED: 

    freetype: 2.5.5-vc14_2    [vc14] --> 2.7-vc14_0 conda-forge [vc14] 
    jpeg:  8d-vc14_2     [vc14] --> 9b-vc14_0  conda-forge [vc14] 
    libtiff: 4.0.6-vc14_2    [vc14] --> 4.0.6-vc14_7 conda-forge [vc14] 
    pillow: 3.4.2-py35_0    --> 4.0.0-py35_2 conda-forge 

The following packages will be SUPERCEDED by a higher-priority channel: 

    conda:  4.3.11-py35_0    --> 4.2.13-py35_0 conda-forge 
    conda-env: 2.6.0-0     --> 2.6.0-0  conda-forge 
    qt:  4.8.7-vc14_9    [vc14] --> 4.8.7-vc14_6 conda-forge [vc14] 

私は続行しないことを決定し、代わりにpip install pillowを試してみました。このコマンドは確認を求めるものではないので、パッケージは単にインストールされただけです。私はconda listを入力すると今私が手:

Pillow     4.0.0      <pip> 
pillow     3.4.2     py35_0 

PyCharm通訳のパッケージリストは、現在のバージョン4.0.0であるとして枕を示したがconda update pillowはまだ返します

# All requested packages already installed. 
pillow     3.4.2     py35_0 

は、私の質問は以下のとおりです。

1)私のパッケージを最新の状態に保つために、互換性の問題なしで何を頼りにするべきですか?

2)なぜconda install pillow: 4.0.0はエラーを返しますが、conda install -c conda-forge pillow=4.0.0はエラーを返しませんでしたか?

3)依存関係のリストにある枕4.0.0とPython 3.5の隣に何があるのですか?

4)以来、私は枕を輸入した場合、枕3.4.2(/anaconda3/pkgs)と枕4.0.0(/anaconda3/lib/site-packages)の両方を使用していますか?

5)平均コンドームを下回っていますか?conda: 4.3.11-py35_0 --> 4.2.13-py35_0 conda-forge

6)pip、py35_0、py35_4、np111py35_2などのタグの違いは何ですか?

7)PyCharmには、Jinja2パッケージのバージョン2.9.5がありますが、通常のcondaとconda-forgeの両方が2.9.4しか見つかりません。どのチャンネルからPyCharmがこの情報を取得していますか?

+0

このディスカッションのすべての部分をハッシュした人がいます:http://stackoverflow.com/search?q=conda+vs+pip FWIW:私の個人的な意見はありませんコンドームに参加してピップを使用してください。 Pycharmはエディタです。 – Kelvin

+0

@Kelvinフィードバックをありがとう!私はcondaとpipのことはこれまで議論されていたが、あなたが私の投稿を読んでいれば、私は2つの比較を求めているだけではないことがわかるだろう。最後に私がここで答えられていないいくつかの具体的な質問をします。それらのどれかで私を助けることができますか?また、私はPyCharmがエディタであることを理解しています。私は、パッケージが最新であるかどうかをチェックする機能を指しています。 –

答えて

1

[OK]を、私はあなたの質問のすべてに答えることはできませんが、ここに行く:

1)Condaは、依存/紛争解決を処理するための「痛みフロントアップ」のアプローチに延期します。パッケージを作成したり、環境内で一緒に保管したりすることが可能なリポジトリ/チャネルで、すべてのパッケージをうまく組み合わせる必要があります。 あなたは--forceまたは--no-depsでそれを試してみることができますが、それを取得しようとしています。これは将来あなたのために問題を引き起こす可能性があります(私はそれが後のバージョンのcondaでは、それは多く変更されます)。最新のパッケージを最新の状態に保つだけで、私はpipを使います。ここ数年でずっと進んでいます(https://glyph.twistedmatrix.com/2016/08/python-packaging.html

2)私は完全にはわかりませんが、私はそれがcondaのための明示的な非urlチャネルを提供することと関係があると信じています。通常、あなたはそれをconda-forgeリポジトリのURLに渡します(私は再び、内部的にconda-forgeを使用しません)。

3)*はパッチ/ビルド4.0.0 == Major.Minor.Buildを無視していることを意味します。同様に、3.5 * == 3.5の任意のバージョン

4)私はターミナルで枕をインポートし、モジュールがどこから引っ張られているのか見てみましょう。

5)パス(私はそう思うが)

6)

  • ピップは:あなたがピップを経由してそのパッケージをインストールを意味します。あなたは
  • py35_0を--explicit condaリストを行う場合には、ピックアップされません。
  • (は常に1ということを忘れ)わからない:のpython 3.5
  • py35_4を使用ENVS /パッケージのみが利用できる要件/あり
  • np111py35_2:私はpycharmの明確な舵取りする傾向がある

7(私は*を考える))python3.5ともnumpyの1.11を必要とし、私はあなたがpycharmは何な環境を見るために指しているPythonインタプリタを調べることができると信じてそのルート環境に基づいて、あなたはcondaの情報を行うことができますあなたが指しているすべてのチャンネルのリストを取得します。

注:condaを使用する場合は、-cを渡すのではなく、チャンネルリストにconda-forgeを追加することができます(ただし、他のチャンネルの構成方法を見ると、 -cフラグ)

+0

@ケビンは助けてくれてありがとう!パッケージを更新またはインストールしようとすると、pipが私に衝突の可能性を知らせますか? –

+0

後の依存関係リスト(私が信じている)の一部であれば、ピップをアンインストールしてインストールするのはよく分かりませんが、最近は何が起きているのか分かりません。私はしばらくのうちに重要なことにそれを使用していません。紛争については何も知らない。 – Kelvin

+0

もしpipが紛争について何も知らないのであれば、それはコンドを好む強い引数ではない、あるいは私はここで何かを逃しているのだろうか?たくさんのパッケージがインストールされている場合に、少なくともあなたにアナウンスの可能性を知らせるマネージャを使うことは良い考えです。(Anacondaをダウンロードする場合のように) –

関連する問題