[PYTHON] Téléchargez et gérez les packages qui ne sont pas dans conda sur anaconda.org

Introduction

Les packages qui ne peuvent pas être installés avec conda sont généralement installés avec pip, mais il est possible (et devrait l'être) de créer et de gérer des packages avec conda.

** Cette méthode seule n'est pas bonne car il semble que les packages requis soient inclus à la fois dans pip et conda. ** ** ** Si quelqu'un connaît plus de détails, veuillez me le faire savoir. ** **

Forfaits requis

Construisez avec conda et installez les packages nécessaires pour télécharger sur anaconda.org avec conda.

conda install conda-build anaconda-client

Jusqu'à récemment, 64 bits Win avait un bogue, donc si vous utilisez Windows et avez déjà conda-build, vous devriez le mettre à jour. Mieux.

conda update conda-build

conda et télécharger

Par exemple, lors de la conversion de pandas_ml en conda, cela ressemble à ceci. Créez une recette de construction avec squelette, construisez localement et téléchargez sur anaconda.org si nécessaire.

mkdir work
cd work
conda skeleton pypi pandas_ml --version 0.3.0 
cd pandas_ml
conda build . --python=3.4
# To have conda build upload to anaconda.org automatically, use
# $ conda config --set anaconda_upload yes
conda build . --output
#>>> <anaconda root>\conda-bld\win-64\pandas_ml-0.3.0-py34_0.tar.bz2

Lors de l'installation localement sans utiliser anaconda.org

onda install --use-local pandas_ml

Lors du téléchargement sur anaconda.org

Inscrivez-vous à anaconda.org. C'est gratuit si vous n'utilisez pas privé.

anaconda login
#>>> Using Anaconda Cloud api site https://api.anaconda.org
#>>> Username: y__sama
#>>> Password:
#>>> login successful
#>>> y__sama's
anaconda upload <anaconda root>\conda-bld\win-64\pandas_ml-0.3.0-py34_0.tar.bz2

Si vous téléchargez souvent sur anaconda, définissez conda config --set anaconda_upload yes.

Lors de l'installation depuis anaconda.org, vous pouvez spécifier le canal comme d'habitude et installer.

conda install -c y__sama pandas_ml

J'obtiens souvent des erreurs car les packages dépendants ne peuvent pas être installés avec conda ou ne sont pas répertoriés dans la recette (meta.yaml). Si une erreur se produit, il est nécessaire de créer un package dépendant séparé avec conda build ou de modifier meta.yaml tout en regardant le message.

http://conda.pydata.org/docs/build_tutorials/pkgs.html#troubleshooting

Copie d'environnement en local

conda create -n env_copy --clone env

Migrer vers un autre serveur (via fichier)

Si vous souhaitez le télécharger sur anaconda.org et l'utiliser, ajoutez un canal.

conda config --add channels y__sama

Exportez l'environnement dans un fichier une fois et spécifiez-le avec l'option --file lors de la création.

conda list -e > env.txt
conda create -n env_file --file env.txt

Mais pour une raison quelconque, pip et conda sont inclus. .. ..

conda list
#>>> ...Abréviation
#>>> jsonschema                2.5.1                    py35_0    defaults
#>>> jupyter-client            4.2.2                     <pip>
#>>> jupyter-cms               0.5.0                     <pip>
#>>> jupyter-core              4.1.0                     <pip>
#>>> jupyter_client            4.2.2                    py35_0    defaults
#>>> jupyter_cms               0.5.0                    py35_0    y__sama
#>>> jupyter_core              4.1.0                    py35_0    defaults
#>>> libsodium                 1.0.3                         0    defaults
#>>> ...Abréviation

Vous devriez maintenant être capable de gérer des paquets avec uniquement la liste conda sans utiliser pip freeze et la liste conda ensemble.

Si vous avez des détails, je vous serais reconnaissant de bien vouloir commenter.

référence

https://gist.github.com/aphlysia/d5fcee79ff81b8272faf http://conda.pydata.org/docs/build_tutorials/pkgs.html http://docs.anaconda.org/cli.html

Recommended Posts

Téléchargez et gérez les packages qui ne sont pas dans conda sur anaconda.org
Une solution au problème que les fichiers contenant [et] ne sont pas répertoriés dans glob.glob ()
Expressions régulières faciles et solides à apprendre en Python
Les modules et packages en Python sont des "espaces de noms"
Gérer les packages python à installer dans des conteneurs
[Jinja2] Solution au problème que les variables ajoutées dans l'instruction for ne sont pas héritées
des modèles de tracé et de mise en page qui sont susceptibles d'être utilisés dans les diagrammes de dispersion
[Introduction à l'application Udemy Python3 +] 36. Utilisation de In et Not
Un moyen standard de développer et de distribuer des packages en Python
[AWS IoT] Supprimer les certificats qui ne sont pas associés à des objets
Essayez d'extraire les mots-clés populaires dans COTOHA
Introduction à la vérification des effets Rédaction des chapitres 4 et 5 en Python
Le piège de ne pas tourner les journaux dans Fedora 33 (bêta)
Comment définir intelligemment les objets couramment utilisés dans View
Convertissez les fichiers téléchargés vers Cloud Storage avec Cloud Functions (Python) afin qu'ils ne soient pas déformés dans Excel
Paquets qui gèrent le MIDI avec Python midi et pretty_midi
a () et a .__ call__ () ne sont pas équivalents
Avec PEP8 et PEP257, un codage Python qui n'est pas gênant à montrer aux gens!
Comment supprimer des pages dont l'accès est refusé dans Selenium + Headless Chrome
Comment masquer les avertissements qui n'affectent pas l'exécution dans Jupyter Notebook
En connexion et guimauve-sqlalchemy, supprimé l'apparence de "Le champ peut ne pas être nul."