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:
conda search
?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.
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.