web-dev-qa-db-ja.com

'custom'のバージョン名を持つcondaパッケージ

conda search anacondaを使用すると、次のように、いくつかのcustomバージョンのパッケージが見つかりました。

Fetching package metadata: ....
anaconda                 1.6.0                np17py33_0  defaults
                          ...                    ...          ...
                         4.0.0               np110py35_0  defaults        
                         4.0.0               np110py34_0  defaults        
                         4.0.0               np110py27_0  defaults        
                         custom                   py35_0  defaults        
                         custom                   py34_0  defaults        
                         custom                   py27_0  defaults 

これらの3つのcustomバージョンのパッケージはconda search anacondaの結果の最後に表示されるため、conda、これはconda install anacondaの結果にも影響します(したがって、conda install anaconda=4.0.0を使用する必要があります)。

次に、conda info anaconda=customは次の結果を返します。

Fetching package metadata: ....                                                

anaconda custom py35_0                                                         
----------------------                                                         
file name   : anaconda-custom-py35_0.tar.bz2                                   
name        : anaconda                                                         
version     : custom                                                           
build number: 0                                                                
build string: py35_0                                                           
channel     : defaults                                                         
size        : 3 KB                                                             
date        : 2016-03-14                                                       
license     : BSD                                                              
md5         : 47c237b38bfc175cb73aed8b8b33ade7                                 
space       : python                                                           
installed environments:                                                        
dependencies:                                                                  
    python 3.5*                                                                

anaconda custom py34_0                                                         
----------------------                                                         
file name   : anaconda-custom-py34_0.tar.bz2                                   
name        : anaconda                                                         
version     : custom                                                           
build number: 0                                                                
build string: py34_0                                                           
channel     : defaults                                                         
size        : 3 KB                                                             
date        : 2016-03-14                                                       
license     : BSD                                                              
md5         : 767a59923372d998b8c83fb16ac035a1                                 
space       : python                                                           
installed environments:                                                        
dependencies:                                                                  
    python 3.4*                                                                

anaconda custom py27_0                                                         
----------------------                                                         
file name   : anaconda-custom-py27_0.tar.bz2                                   
name        : anaconda                                                         
version     : custom                                                           
build number: 0                                                                
build string: py27_0
channel     : defaults                                                      
size        : 3 KB                                                          
date        : 2016-03-14                                                    
license     : BSD                                                           
md5         : 8288aef529d5a46d07bd84b4fcf4308a                              
space       : python                                                        
installed environments:                                                     
dependencies:                                                               
    python 2.7*           

しかし、私はこれらの3つのパッケージがこのコンピューターに表示される方法と理由を知りません/覚えています、誰でも説明できます:

  1. これらのカスタムバージョンのパッケージは最初にどのように作成されますか?
  2. これらのカスタムバージョンパッケージがconda searchの結果に表示される方法/理由は?
  3. これらを削除する方法custom version pkgs?
14
YaOzI

(現在、公式リポジトリにある)存在するパッケージの1つのcustomバージョンは、anacondaパッケージ用です。

理由は次のとおりです...anaconda condaパッケージはmetapackagesであり、パッケージのパッケージであることを意味します。または、実際のソースコードがなく、多数の依存関係のみをもたらすパッケージです。各anacondaパッケージには、そのサブパッケージの明示的かつ特定のバージョンに固定されたすべてのサブパッケージがあります。これは、Continuumがそのパッケージセット(およびそれらの特定のバージョン)の相互運用性について広範なテストを行っているためです。

これで、AnacondaインストーラーまたはMinicondaをインストールしてからconda install anacondaのいずれかを使用してanacondaをインストールすると、これらすべてのテスト済み保証が付いたパッケージのセットができました。このロックされたパッケージのセットに固執する必要がある理由はありません。必要なものとバージョンをインストールできます。ただし、バージョンを識別できるAnacondaディストリビューションはもうありません。あなたはカスタマイズそれをしました。したがって、conda listを実行し、anacondaパッケージのバージョンがcustomを示している場合、堅牢にテストされているAnacondaディストリビューションのパッケージのセットから逸脱していることがわかります。相互運用性。

conda search anacondaクエリは、これがどのように実装されているかのアーティファクトを反映しているだけです。そのクエリでは、customパッケージが最初にリストされていることがわかります。つまり、バージョンを比較すると、ソート順が最も低くなります。したがって、特別に固定されたanacondaパッケージから分岐した後にconda update anacondaを実行すると、Anacondaディストリビューションの番号付きバージョンに戻ります。

14
kalefranz

これは本当に部分的な答えです。なぜこのバージョンが存在するのか、私は確信が持てません。

(1)customの特定のバージョン値に関して、これは ここ から許可されているようです:

バージョン:文字列

-を含まない可能性のあるパッケージバージョン。コンダはPEP440を認めます。

したがって、このanacondaパッケージは、他のバージョンと同じ方法で作成されます。 conda buildを使用すると思います。

(2) anaconda cloud に存在するため、検索結果に表示されます。これはanacondaの正式にリリースされたバージョンのようです。

存在する理由については、実際のパッケージファイルの1つ(たとえば、linux-64-anaconda-custom-py35_0.tar.bz2)をダウンロードして展開し、info/index.jsonファイルを読み取ると、このパッケージは単にインストールされるように見えますpythonと他の必要最低限​​のものこれをanacondaバージョン4.0.0または他の1つと比較すると、たくさんのパッケージが表示されます。誰かがカスタムバージョンをインストールした場合に、このパッケージが存在すると思います。必要最低限​​のパッケージを取得してから、conda install-必要な他のパッケージを実行します。

たとえば、conda create -n anc-test anaconda=4.0.0conda create -n anc-test anaconda=customを実行するときにパッケージを確認します。

編集:それがあなたのconda infoにもあるのを見たので、おそらく依存関係の違いをすでに知っているでしょう。

(3)これらのカスタムパッケージはanacondaクラウドの正規のパッケージであるため、検索呼び出しから削除することはできないと思います。正規表現を介してconda searchからそれらを除外できる場合があります。出力からは、それらがインストールされているようには見えません-少なくとも現在の環境では。

0
Paul