web-dev-qa-db-fra.com

conda packages avec le nom de version 'custom'

Lorsque j’ai utilisé conda search anaconda, j’ai trouvé quelques paquets custom version, illustrés comme suit:

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 

Notez que ces trois custom version sont affichés à la fin des résultats de conda search anaconda, ils sont donc considérés comme la version la plus récente par conda, ce qui affecte également les résultats de conda install anaconda (je dois donc utiliser conda install anaconda=4.0.0).

Alors conda info anaconda=custom donne les résultats suivants:

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*           

MAIS je ne sais pas/se rappeler comment et pourquoi ces trois paquets apparaissent dans cet ordinateur, quelqu'un peut-il expliquer:

  1. Comment ces pkgs custom version sont-ils créés?
  2. Comment/Pourquoi ces pkgs custom version sont-ils affichés dans les résultats conda search?
  3. Comment enlever ces custom version pkgs?
11
YaOzI

La version custom de tout package existant (actuellement dans le dépôt officiel) est destinée au package anaconda.

Voici la raison ... Les packages anaconda conda sont des métapaquets , ce qui signifie qu'ils sont des packages de packages - ou des packages sans code source réel et ne générant que de nombreuses dépendances. Chaque package anaconda a chaque sous-package épinglé à une version explicite et spécifique de ce sous-package. En effet, Continuum effectue des tests approfondis sur l’interopérabilité de cet ensemble de packages (et de ces versions spécifiques).

Maintenant, après avoir installé anaconda, soit par le biais du programme d’installation d’Anaconda, soit en installant Miniconda, puis conda install anaconda, vous disposez d’un ensemble de packages avec toutes ces garanties testées. Il n’ya aucune raison de vous en tenir à cet ensemble de paquets verrouillés - vous pouvez installer n’importe quoi et n'importe quelle version de votre choix. Cependant, vous n'avez plus de distribution Anaconda identifiable par la version. Vous avez personnalisé il. Ainsi, lorsque vous exécutez conda list et que la version du package anaconda affiche custom, vous savez que vous vous êtes écarté de l'ensemble des packages de la distribution Anaconda qui ont été testés pour leur interopérabilité.

Votre requête conda search anaconda reflète simplement un artefact de la façon dont cela est implémenté. Vous remarquerez dans cette requête que les packages custom sont répertoriés en premier, ce qui signifie qu'ils ont l'ordre de tri le plus bas lors de la comparaison de versions. Ainsi, si vous exécutez conda update anaconda après vous être écarté des packages anaconda spécifiquement épinglés, vous revenez à une version numérotée de Anaconda Distribution.

12
kalefranz

C'est vraiment une réponse partielle. Je ne suis pas sûr pourquoi exactement cette version existe.

(1) En termes de valeur de version spécifique de custom, il semble que cela soit autorisé à partir de ici :

version: chaîne

La version du package, qui peut ne pas contenir -. Conda reconnaît le PEP 440.

Donc, ce paquet anaconda serait créé de la même manière que n'importe quelle autre version. Je supposerais en utilisant conda build.

(2) Ils apparaissent dans les résultats de la recherche car ils existent dans le anaconda cloud . Il semble que ceci soit une version officiellement publiée d’Anaconda. 

Pour ce qui est de la raison de son existence, si vous téléchargez l’un des fichiers du paquet (par exemple, linux-64-anaconda-custom-py35_0.tar.bz2), le développez et lisez le fichier info/index.json, il semble que ce paquet installe simplement python et les autres éléments nécessaires. Comparez cela à anaconda version 4.0.0, ou à l’une des autres, et vous verrez une tonne de paquets. Je suppose que ce paquet existe de sorte que si quelqu'un installe la version personnalisée, il obtiendra simplement les paquets sans système d'exploitation puis passera par conda install- tous les autres qu'il souhaite.

Par exemple, examinez les packages lorsque vous faites conda create -n anc-test anaconda=4.0.0 contre conda create -n anc-test anaconda=custom

EDIT: Je viens de voir que cela se trouve également dans votre conda info, de sorte que vous êtes probablement déjà au courant de la différence entre les dépendances.

(3) Je ne pense pas que vous puissiez supprimer ces packages personnalisés de votre appel de recherche car il s'agit de packages légitimes dans le cloud anaconda. Vous pourrez peut-être les exclure du conda search via regex. D'après votre sortie, il ne semble pas qu'ils aient été installés - du moins pas dans l'environnement actuel.

0
Paul