1
votes

Impossible d'installer Snakemake dans l'invite de commande ni dans l'invite anaconda

J'essaye d'installer Snakemake.

Lorsque j'essaye d'utiliser pip, je reçois le message d'erreur suivant:

PackagesNotFoundError: The following packages are not available from current channels:

 > - snakemake -> pygraphviz

J'ai téléchargé C ++ et python build tools pour MS Visual studio 2019. J'ai également mis à niveau les outils de configuration.

Lorsque j'essaie d'installer à l'aide de l'invite anaconda, j'obtiens ceci:

ERROR: Complete output from command 'C:\Python\Python37\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\ANGELA~1\\AppData\\Local\\Temp\\pip-install-1kbp7voq\\datrie\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\ANGELA~1\AppData\Local\Temp\pip-record-_eliva3i\install-record.txt' --single-version-externally-managed --compile:
ERROR: running install
running build
running build_clib
building 'libdatrie' library
creating build
creating build\temp.win-amd64-3.7
creating build\temp.win-amd64-3.7\libdatrie
creating build\temp.win-amd64-3.7\libdatrie\datrie
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ilibdatrie "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\include" /Tclibdatrie\datrie\alpha-map.c /Fobuild\temp.win-amd64-3.7\libdatrie\datrie\alpha-map.obj
alpha-map.c
libdatrie\datrie\alpha-map.c(27): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.21.27702\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
----------------------------------------
ERROR: Command "'C:\Python\Python37\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\ANGELA~1\\AppData\\Local\\Temp\\pip-install-1kbp7voq\\datrie\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\ANGELA~1\AppData\Local\Temp\pip-record-_eliva3i\install-record.txt' --single-version-externally-managed --compile" failed with error code 1 in C:\Users\ANGELA~1\AppData\Local\Temp\pip-install-1kbp7voq\datrie\
conda install pygraphviz

renvoie également le même message, et j'ai ajouté conda-forge aux chaînes.


1 commentaires

Autant que je sache, il existe actuellement un problème lié au package datrie qui rend snakemake désinstallable avec pip sous python 3.7: bitbucket.org/snakemake/snakemake/issues/934/…


5 Réponses :


-2
votes

L'erreur montre que le package que vous essayez d'installer utilise le compilateur Microsoft VCC

 No such file or directory error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\HostX86\x64\cl.exe' failed with exit status 2 

Installez Microsoft Visual Studio 2019 pour résoudre ce problème


2 commentaires

C'est la version de Visual Studio que j'ai installée.


Ce n'est pas une solution.



0
votes

conda install -c bioconda snakemake

Le paquet est dans le canal bioconda . Il est recommandé de consulter https://anaconda.org/ et de rechercher les nouveaux packages que vous souhaitez installer depuis le site Web vous indiquera dans quel canal se trouve le package.


2 commentaires

Cela ne résoudra pas le problème. Toutes les constructions Anaconda snakemake nécessitent pygraphviz qui n'est disponible pour la plate-forme win-64 sur aucun canal standard.


Assez juste. Je n'ai pas lu le journal des erreurs de pip assez attentivement pour me rendre compte qu'il s'agit d'un système Windows. Je vais quand même laisser la réponse ici, car a) bioconda est le bon canal pour ce paquet et b) la recherche sur anaconda.org montrera également les systèmes d'exploitation pour lesquels le paquet est disponible.



0
votes

PyPI

L'erreur pip a des questions connexes (par exemple, Impossible d'ouvrir le fichier d'inclusion: ' ctype.h ': aucun fichier ou répertoire de ce type ), mais je n'ai vu aucune solution spécifique à VS2019. Et les anciennes solutions semblent avoir diverses causes, ce qui me semble être un désordre.

Conda

J'essaierais toujours la route Conda. Le problème ici est que la version par défaut de Snakemake nécessite pygraphviz et n'est pas disponible pour la plate-forme win-64 via l'un de vos canaux.

Pas de Graphviz

L'alternative la plus simple est d'opter pour le package snakemake-minimal à la place, qui n'a pas de dépendance pygraphviz . La seule chose pour laquelle Snakemake utilise Graphviz est de générer des tracés DAG, ce qui, d'après mon expérience, est pratiquement inutile pour tout autre que des pipelines plutôt triviaux. La version minimale exclut également la prise en charge des fichiers à distance (par exemple, l'interface DropBox) et la génération de rapports sophistiqués. Donc, si vous avez juste besoin des fonctionnalités de base, lancez

conda activate
conda install graphviz pip
pip install pygraphviz
conda install snakemake

(je suppose que vous avez déjà des canaux Bioconda + Conda Forge.)

Graphviz

Si vous voulez vraiment le tracé Graphviz ou d'autres extras, vous pouvez essayer quelque chose comme

conda install snakemake-minimal

Autrement dit, assurez-vous d'utiliser le pip dans votre environnement Conda , et ne l'utilisez que pour installer pygraphviz . Cependant, l'utilisation de PyPI et de Conda peut conduire à un environnement instable a>.

Il existe des canaux d'utilisateurs sur Anaconda Cloud qui ont des versions win-64 de pygraphviz , mais je ne recommande pas de s'approvisionner auprès d'utilisateurs aléatoires à moins que vous ne leur fassiez confiance.


0 commentaires

0
votes

D'après ce problème , snakemake ne peut actuellement pas être installé tout de suite en utilisant pip sous python3.7. Sa dépendance datrie ne peut pas être installée automatiquement.

Dans la discussion sur le problème, il y a une solution de contournement suggérée: installer d'abord datrie à partir de git, puis snakemake code >:

pip3 install git+https://github.com/pytries/datrie.git
pip3 install snakemake


0 commentaires

0
votes

Voir https://github.com/snakemake/snakemake/issues/246

Ce n'est pas un bogue avec snakemake , mais un problème connu avec datrie . Un PR est actuellement ouvert qui résout ce problème, mais jusqu'à ce qu'il soit fusionné, le les solutions suivantes devraient fonctionner.

A le problème précédent sur bitbucket a traité de cela pour python3.7.

Solution de contournement

Python3.7

pip3 install "git+https://github.com/ashwinvis/datrie.git@python3.8"
pip3 install snakemake

Python3.8

pip3 install git+https://github.com/pytries/datrie.git
pip3 install snakemake


0 commentaires