Je suis un débutant en Python
, venant de R
, et je ne suis pas un programmeur, alors soyez patient si ma question est assez idiote ou triviale, mais je ne trouve pas de solution par moi-même.
J'utilise Python 3.7
dans Spyder, dans une machine Windows 10.
Je suis ce tutoriel et j'ai compris que j'avais besoin du module scikit-image
.
J'ai appris que les paquets externes devraient être importés dans le même environnement de Spyder, donc je les installe à partir de Spyder:
from skimage import data
Et j'ai ceci:
Exigence déjà satisfaite: scikit-image dans c: \ users \ me \ appdata \ local \ programs \ python \ python37-32 \ lib \ site-packages (0.15.0) ...
Idem pour oreiller, networkx, PyWavelets, imageio, decorator, numpy (ceux je suppose que ce sont les modules de dépendances). Il semble que j'ai ce dont j'ai besoin.
J'essaye donc la première commande du tutoriel mentionné ci-dessus, à savoir:
!pip install scikit-image
Mais les résultats semblent ceci:
Traceback (dernier appel le plus récent):
Fichier "", ligne 1, provenant des données d'importation de skimage
Fichier "C: \ Users \ me \ AppData \ Local \ Programs \ Python \ Python37-32 \ Lib \ site-packages \ skimage__init __. Py", ligne 124, dans _raise_build_error (e)
Fichier "C: \ Users \ me \ AppData \ Local \ Programs \ Python \ Python37-32 \ Lib \ site-packages \ skimage__init __. Py", ligne 104, dans _raise_build_error% s "" "% (e, msg))
ImportError: impossible d'importer le nom 'geometry' de 'skimage._shared' (C: \ Users \ me \ AppData \ Local \ Programs \ Python \ Python37-32 \ Lib \ site-packages \ skimage_shared__init __. Py) Il semble que scikit-image n'a pas été construit correctement.
Mais je pense que c'est important:
Votre installation de scikit-image semble être interrompue. Essayez de réinstaller le package en suivant les instructions à l' adresse : https://scikit-image.org/docs/stable/install.html
Je suis donc allé sur ce lien, mais l'installation standard est ce que j'ai essayé de faire. Qu'est-ce que je fais mal?
Merci d'avance
EDIT1 : j'ai suivi la réponse, j'ai exécuté ceci:
!pip uninstall scikit-image --yes Uninstalling scikit-image-0.15.0: Successfully uninstalled scikit-image-0.15.0
ensuite
from skimage import data
Et le résultat est que c'est already satisfied
:
Exigence déjà satisfaite: scikit-image dans c: \ users \ me \ appdata \ local \ continuum \ anaconda3 \ lib \ site-packages (0.15.0)
Et même pour: matplotlib, networkx, oreiller, imageio, PyWavelets, numpy, cycler, kiwisolver, pyparsing, python-dateutil, decorator, six, setuptools
EDIT2:, fait dans l'invite anaconda, déjà certains paquets sont déjà satisfaits, j'ai donc redémarré Spyder et envoyé:
! pip install scikit-image
Donne une erreur différente:
Traceback (dernier appel le plus récent):
Fichier "", ligne 1, provenant des données d'importation de skimage
Fichier "C: \ Users \ me \ AppData \ Local \ Continuum \ anaconda3 \ Lib \ site-packages \ skimage__init __. Py", ligne 127, dans from .util.dtype import (img_as_float32,
Fichier "C: \ Users \ me \ AppData \ Local \ Continuum \ anaconda3 \ Lib \ site-packages \ skimage \ util__init __. Py", ligne 1, à partir de .dtype import (img_as_float32, img_as_float64, img_as_float,
Fichier "C: \ Users \ me \ AppData \ Local \ Continuum \ anaconda3 \ Lib \ site-packages \ skimage \ util \ dtype.py", ligne 1, dans l'importation numpy comme np
Fichier "C: \ Users \ me \ AppData \ Local \ Programs \ Python \ Python37-32 \ Lib \ site-packages \ numpy__init __. Py", ligne 142, à partir de. importer le noyau
Fichier "C: \ Users \ me \ AppData \ Local \ Programs \ Python \ Python37-32 \ Lib \ site-packages \ numpy \ core__init __. Py", ligne 23, dans WinDLL (os.path.abspath (filename))
Fichier "C: \ Users \ me \ AppData \ Local \ Continuum \ anaconda3 \ lib \ ctypes__init __. Py", ligne 356, dans init self._handle = _dlopen (self._name, mode)
OSError: [WinError 193]% 1 ce n'est pas une application valide de Win32
(la dernière ligne est traduite par moi) que j'ai cherché, mais malgré un problème assez connu, je ne trouve pas de solution.
3 Réponses :
Il semble que quelque chose s'est mal passé lors de l'installation. Vous devrez peut-être le réinstaller via:
pip uninstall scikit-image pip install scikit-image
S'il y a des erreurs lors de la dernière étape (enregistrez la sortie), publiez-la ici. Cela vous donnera une idée de ce qui ne va pas.
Merci, j'ai !pip uninstall scikit-image --yes
alors !pip install scikit-image
!pip uninstall scikit-image --yes
!pip install scikit-image
, et vous pouvez voir la mise à jour dans la question.
Cela fonctionne pour conda uninstall scikit-image conda install scikit-image aussi!
À partir des résultats donnés, je suggérerais de créer un nouvel environnement pour encapsuler tous les packages de votre développement actuel.
Pour obtenir de l'aide concernant les environnements avec anaconda, vous pouvez regarder ici ou les créer dans l'interface graphique.
Vous trouverez dans la documentation des éléments rationnels pour l'utilisation des environnements virtuels en général. En bref: les environnements sont un moyen facile d'avoir des versions séparées des packages pour différents projets et vous séparez votre développement de l'installation système python, qui peut avoir différents packages.
Actuellement, cela ressemble à un mélange de packages de votre installation système, des chemins comme
"C: \ Users \ me \ AppData \ Local \ Programs \ Python ..."
et installations d'anaconda, avec des chemins de
"C: \ Users \ me \ AppData \ Local \ Continuum \ anaconda3 \ Lib ..."
probablement cela cause votre problème (et en causera probablement plus).
il semble que conda installera d'autres paquets de dépendances. Et cela fonctionne pour moi.
Je vois que vous utilisez anaconda, essayez de désinstaller / installer le package depuis anaconda ou avec
conda install
@ Sparky05, merci, dans l'invite anaconda en envoyant les mêmes commandes (sans!), J'ai désinstallé / installé le paquet avec succès, j'ai redémarré Spyder et j'ai eu une erreur différente, publiée ci-dessus.
Je ne sais pas si c'est la cause de votre erreur ou si cela devrait ressembler à ceci, je vois toujours un mélange de chemins anaconda et de chemins système. Vous pouvez essayer de créer un nouvel environnement dans anaconda et installer tous les paquets d'anaconda dans cet environnement.
C'était la bonne voie: tout le concept d'environnement n'était pas clair pour moi, avec ton commentaire, j'ai compris quelque chose de nouveau, merci. Si vous l'ajoutez comme réponse, je serai heureux de voter et de marquer comme correct.
J'ai créé une réponse avec des liens utiles vers la documentation des environnements python et la documentation des condos pour leur création (si vous n'avez pas l'interface graphique, ce qui est vraiment facile à utiliser). Si vous êtes nouveau dans
Python
et que vous êtes basé sur votre backroundR
, je vous suggère de jeter un œil aux notebooks jupyter, qui ont avec ses cellules interactives un sentiment plus proche deR
( Mainteneur de Spyder ici ) Votre problème m'a montré
!pip/!conda
installation de paquet avec!pip/!conda
dans notre console conduit à des problèmes très déroutants et désagréables, j'ai donc décidé de le désactiver pour notre prochaine version. Notre console est conçue pour exécuter du code Python, pas pour exécuter des commandes système. Les utilisateurs ne devraient donc pas l'utiliser pour installer des packages via celui-ci, car pip et conda attendent un vrai terminal système, pas quelque chose qui émule un terminal mais qui ne l'est pas en réalité.En outre, vous ne devez pas utiliser pip pour installer les packages fournis par Anaconda (comme
scikit-image
) car la plupart des packages scientifiques pip et conda sont incompatibles (Pandas, Numpy, Matplotlib, etc.), ce qui signifie que l'utilisation de pip avec Anaconda pour les installer généralement corrompt Anaconda et vous devez le réinstaller. Ainsi, en interdisant l'installation de pip / conda, nous pouvons également montrer aux utilisateurs un message disant que l'utilisation de pip avec Anaconda est une très mauvaise idée.@CarlosCordoba merci pour vos commentaires. Je tiens seulement à souligner que je ne suis pas un utilisateur expérimenté de Python / Spyder / Anaconda, peut-être qu'un utilisateur chevronné n'a pas ces problèmes et que la suppression d'une fonctionnalité pourrait leur entraîner d'autres problèmes. Peut-être que montrer un avertissement suffit (juste mon avis).