Après avoir installé Mechanize , je ne semble pas pouvoir l'importer.
J'ai essayé d'installer à partir de pip, easy_install et via python setup.py install
ce repo: https://github.com/abielr/mechanize . Tout cela en vain, car chaque fois que j'entre dans mon Python interactif, j'obtiens:
Python 2.7.3 (default, Aug 1 2012, 05:14:39)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mechanize
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named mechanize
>>>
Les installations que j'ai exécutées précédemment ont indiqué qu'elles s'étaient terminées avec succès, je m'attends donc à ce que l'importation fonctionne. Quelle pourrait être la cause de cette erreur?
easy_install
? En outre, s'il vous plaît confirmer le chemin completeasy_install
,pip
et depython
.sys.path
si vous cherchez aux bons endroits,ls -laR /usr/local/lib/python2.7/dist-packages/mech*
pour vérifier les problèmes d'autorisations, et regarder pourimp.find_module("mechanize")
faire la distinction entre les erreurs de ne pas trouver et de ne pas pouvoir survivre à l'importation?Réponses:
Dans mon cas, c'est un problème de permission. Le package a été installé d'une manière ou d'une autre avec l'autorisation root rw uniquement, les autres utilisateurs ne peuvent tout simplement pas y accéder!
la source
sudo pip install ...
.sudo chmod -R ugo+rX /lib/python2.7/site-packages/
sudo chmod 777 /usr/local/lib/python3.6/site-packages
fait l'affaireJ'ai eu le même problème: le script avec
import colorama
lançait et ImportError, maissudo pip install colorama
me disait "package déjà installé".Mon CORRECTIF: pip courir sans sudo :
pip install colorama
. Puis pip a convenu qu'il devait être installé, installé et mon script a été exécuté.Mon environnement est Ubuntu 14.04 32 bits; Je pense avoir vu cela avant et après avoir activé mon virtualenv.
MISE À JOUR : encore mieux, utilisez
python -m pip install <package>
. L'avantage de ceci est que, puisque vous exécutez la version spécifique de python dans laquelle vous voulez le paquet, pip installera sans équivoque le paquet dans le «bon» python. Encore une fois, n'utilisez pas sudo dans ce cas ... alors vous obtenez le package au bon endroit, mais éventuellement avec des autorisations root (indésirables).la source
C'est le problème du chemin python.
Dans mon cas, j'ai installé python dans:
et il n'y a pas de répertoire site-packages dans python2.6.
Le package (SOAPpy) que j'ai installé par pip se trouve
Et site-package n'est pas dans le chemin python, tout ce que j'ai fait est d'ajouter des packages de site à PYTHONPATH de manière permanente.
Dans le fichier texte qui apparaît, ajoutez cette ligne à la fin:
export PYTHONPATH = $ PYTHONPATH: /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/
la source
Le mécanisme d'importation Python fonctionne vraiment, donc, soit:
la source
sudo pip install
il a été installé avec des privilèges root, et au moment de l'importation, quelque chose bombarde pour le manque de accès en lecture ou en écriture.Je me suis cogné la tête contre mon moniteur jusqu'à ce qu'un jeune stagiaire me dise que le secret est de "python setup.py install" dans le répertoire du module.
Pour une raison quelconque, exécuter la configuration à partir de là le fait fonctionner.
Pour être clair, si le nom de votre module est "foo":
Si vous essayez d'exécuter setup.py à partir de n'importe quel autre répertoire en appelant son chemin, vous vous retrouvez avec une installation bloquée.
NE MARCHE PAS:
FONCTIONNE:
la source
J'ai pu corriger ce problème avec une approche combinée. Tout d'abord, j'ai suivi les conseils de Chris, ouvert une ligne de commande et tapé «pip show packagename» Cela a fourni l'emplacement du paquet installé.
Ensuite, j'ai ouvert python et j'ai tapé 'import sys', puis 'sys.path' pour montrer où mon python recherche les packages que j'importe. Hélas, l'emplacement indiqué à la première étape n'était PAS dans la liste.
Dernière étape, j'ai tapé 'sys.path.append (' package_location_seen_in_step_1 '). Vous pouvez éventuellement répéter l'étape deux pour voir l'emplacement est maintenant dans la liste.
Étape de test, essayez à nouveau d'importer le package ... cela fonctionne.
Le mauvais côté? Il est temporaire et vous devez à chaque fois l'ajouter à la liste.
la source
J'ai rencontré cela en essayant d'utiliser le trousseau de clés que j'ai installé via
sudo pip install keyring
. Comme mentionné dans les autres réponses, c'est un problème d'autorisations dans mon cas.Ce qui a fonctionné pour moi:
sudo pip uninstall keyring
-H
option sudo et réinstallé le trousseau de clés:sudo -H pip install keyring
J'espère que cela t'aides.
la source
Je suis nouveau sur python. J'ai résolu ce problème en modifiant le chemin de l'interpréteur de projet.
File -> Settings -> Project -> Project Interpreter
la source
Je n'ai pas pu faire fonctionner mon PYTHONPATH correctement. J'ai réalisé que l'ajout
export
corrigeait le problème:(a fonctionné)
contre.
(n'a pas marché)
la source
Dans mon cas, j'avais couru
pip install Django==1.11
et il n'importerait pas de l'python
interprète.En parcourant les commandes de pip, j'ai trouvé
pip show
qui ressemblait à ceci:Remarquez que l'emplacement dit «3.4». J'ai trouvé que la
python
commande-était liée àpython2.7
Juste à côté, j'ai trouvé un lien appelé
python3
alors je l'ai utilisé. Vous pouvez également modifier le lien enpython3.4
. Cela réglerait le problème aussi.la source
Dans mon cas, c'était un problème avec un fichier init .py manquant dans le module, que je voulais importer dans un environnement Python 2.7.
Python 3.3+ a des packages d'espace de noms implicites qui lui permettent de créer des packages sans fichier init .py.
la source
Si les autres réponses mentionnées ne fonctionnent pas pour vous, essayez de supprimer votre cache pip et de réinstaller le package. Ma machine exécute Ubuntu14.04 et se trouvait sous
~/.cache/pip
. La suppression de ce dossier a fait l'affaire pour moi.la source
Assurez-vous également de ne pas confondre
pip3
avecpip
. Ce que j'ai trouvé, c'est que le package installé avecpip
ne fonctionnait paspython3
et vice-versa.la source
Lorsque vous installez via
easy_install
oupip
, est-il terminé avec succès? Quelle est la sortie complète? Quelle installation Python utilisez-vous? Vous devrez peut-être utilisersudo
avant votre commande d'installation, si vous installez des modules dans un répertoire système (si vous utilisez l'installation python système, peut-être). Il n'y a pas beaucoup d'informations utiles dans votre question, mais certains outils qui vous aideront probablement incluent:echo $PYTHONPATH
et / ouecho $PATH
: lors de l'importation de modules, Python recherche dans l'une de ces variables d'environnement (listes de répertoires,:
délimitées) le module souhaité. Les problèmes d'importation sont souvent dus au fait que le bon répertoire est absent de ces listeswhich python
,which pip
ouwhich easy_install
: ceux-ci vous indiqueront l'emplacement de chaque exécutable. Cela peut aider à savoir.Utilisez virtualenv , comme le suggère @JesseBriggs. Cela fonctionne très bien avec
pip
pour vous aider à isoler et à gérer les modules et l'environnement pour des projets Python séparés.la source
J'ai eu ce problème exact, mais aucune des réponses ci-dessus n'a fonctionné. Cela m'a rendu fou jusqu'à ce que je remarque que sys.path était différent après avoir importé du projet parent. Il s'est avéré que j'avais utilisé importlib pour écrire une petite fonction afin d'importer un fichier ne figurant pas dans la hiérarchie du projet. Mauvaise idée: j'ai oublié que j'avais fait ça. Pire encore, le processus d'importation s'est brouillé avec le sys.path - et l'a laissé ainsi. Très mauvaise idée.
La solution était d'arrêter cela et de mettre simplement le fichier que je devais importer dans le projet. Une autre approche aurait été de placer le fichier dans son propre projet, car il doit être reconstruit de temps en temps, et la reconstruction peut ou non coïncider avec la reconstruction du projet principal.
la source
J'ai eu ce problème avec 2.7 et 3.5 installés sur mon système en essayant de tester un robot de télégramme avec Python-Telegram-Bot .
Je ne pouvais pas le faire fonctionner après l'installation avec pip et pip3, avec sudo ou sans. J'ai toujours:
La lecture correcte du message d'erreur m'indique que python recherche dans le répertoire courant un fichier
telegram.py
. Et à droite, j'avais un script là-bas appelé telegram.py et cela a été chargé par python lorsque j'ai appeléimport
.Conclusion, assurez-vous que vous n'en avez pas
package.py
dans votre répertoire de travail actuel lorsque vous essayez d'importer. (Et lisez attentivement le message d'erreur).la source
J'ai eu un problème similaire (sous Windows) et la cause principale dans mon cas était le logiciel ANTIVIRUS ! Il a la fonction "Auto-Confinement", qui encapsule le processus en cours avec une sorte de machine virtuelle. Les symptômes sont:
pip install somemodule
fonctionne correctement dans une fenêtre de ligne cmd etimport somemodule
échoue lorsqu'il est exécuté à partir d'un autre processus avec l'erreurJ'espère que cela fera gagner du temps à quelqu'un :)
la source
Peut-être un peu hors sujet, mais j'ai eu des problèmes
import PyYAML
. Souligne que vous devezimport yaml
. (je suppose que c'est un rtfm classique ...)la source
J'ai eu un problème similaire en utilisant Django. Dans mon cas, je pourrais importer le module depuis le shell Django, mais pas depuis un .py qui importait le module.
Le problème était que j'exécutais le serveur Django (par conséquent, exécutant le .py) à partir d'un virtualenv différent partir duquel le module avait été installé.
Au lieu de cela, l'instance de shell était exécutée dans le virtualenv correct. Par conséquent, pourquoi cela a fonctionné.
la source
Cela marche!!!
Cela se produit souvent lorsque le module est installé sur une ancienne version de python ou un autre répertoire, pas de soucis car la solution est simple. - importer le module du répertoire dans lequel le module est installé. Vous pouvez le faire en important d'abord le
sys
module python puis en important à partir du chemin dans lequel le module est installéla source
La plupart des cas possibles ont déjà été couverts dans des solutions, juste en partageant mon cas, il m'est arrivé que j'ai installé un package dans un environnement (par exemple
X
) et que j'importais le package dans un autre environnement (par exempleY
). Assurez-vous donc toujours d'importer le package depuis l'environnement dans lequel vous avez installé le package.la source
Quelque chose qui a fonctionné pour moi était:
La commande ne nécessite pas sudo. Cela a été testé sur OSX Mojave.
la source
Dans mon cas, je devais également installer le (s) module (s) pour le superutilisateur.
Apparemment, la superutilisation ne peut pas accéder aux fichiers des utilisateurs normaux dans certaines circonstances.
la source
Pour moi, cela garantissait que la version du module était alignée sur la version de Python que j'utilisais. J'ai construit l'image sur une boîte avec Python 3.6 puis je l'ai injectée dans une image Docker sur laquelle la version 3.7 était installée, puis je me suis cogné la tête quand Python me disait que le module n'était pas installé ...
36m
pour Python 3.6bsonnumpy.cpython-36m-x86_64-linux-gnu.so
37m
pour Python 3.7bsonnumpy.cpython-37m-x86_64-linux-gnu.so
la source
pip install
la version qui correspond à la version de Python que vous utilisez. Quelle erreur obtenez-vous et quelle est la sortie depython --version
Je sais que c'est un article très ancien, mais pour moi, j'ai eu un problème avec un python 32 bits et un python 64 bits installés. Une fois que j'ai désinstallé le python 32 bits, tout a fonctionné comme il se doit.
la source
J'ai résolu mon problème selon lequel les mêmes bibliothèques fonctionnaient correctement dans un projet (A), mais l'importation de ces mêmes bibliothèques dans un autre projet (B) provoquait une erreur. J'utilise Pycharm comme IDE sous Windows OS. Donc, après avoir essayé de nombreuses solutions potentielles et échoué à résoudre le problème, j'ai fait ces deux choses (dossier «Venv» supprimé et interpréteur reconfiguré):
1-Dans le projet (B), il y avait un dossier nommé ("venv"), situé dans les bibliothèques externes /. J'ai supprimé ce dossier.
2-Étape 1 (suppression du dossier "venv") provoque une erreur dans la configuration de l'interpréteur Python, et un message s'affiche en haut de l'écran indiquant "Interpréteur python non valide sélectionné pour le projet" et "configurer l'interpréteur python", sélectionnez ce lien et il ouvre une nouvelle fenêtre. Là, dans la liste déroulante "Project Interpreter", il y a une ligne de couleur rouge montrant l'interpréteur invalide précédent. Maintenant, ouvrez cette liste et sélectionnez l'interpréteur Python (dans mon cas, c'est Python 3.7). Appuyez sur "Appliquer" et "OK" en bas et vous êtes prêt à partir.
Remarque: c'était potentiellement le problème où l'environnement virtuel de mon projet (B) ne reconnaissait pas les bibliothèques déjà installées et fonctionnelles.
la source
Si vous utilisez un environnement virtuel, utilisez
pipenv install <module name>
au lieu depip install <module name>
A travaillé pour moi.
la source
Eu ce problème aussi .. le package a été installé sur Python 3.8.0 mais VS Code exécutait mon script en utilisant une version plus ancienne (3.4)
correction dans le terminal:
py .py
Assurez-vous que vous installez le package sur la bonne version de Python
la source
Comme un ami l'a fait pour moi aujourd'hui, voici ce qui m'a aidé (j'utilise Windows):
Appuyez sur «Paramètres» -> «Projet» -> «Interpréteur de projet». Ici, dans la fenêtre de droite, il y a une ligne avec le titre «Interprète de projet» à gauche. Cliquez sur cette ligne et cela ouvrira plusieurs lignes supplémentaires.
Appuyez maintenant sur la ligne «Afficher tout». Une fenêtre s'ouvrira. Dans cette fenêtre, appuyez sur le petit signe «+» dans le coin supérieur droit.
Une nouvelle fenêtre s'ouvrira. Sur la gauche, il y a 4 onglets, appuyez sur le plus en haut, qui dit «Environnement Virtualenv». Maintenant, dans la fenêtre de droite, cochez l'option «Environnement existant». La ligne «Interpreter» deviendra bien visible. Appuyez sur le bouton «...» à droite de la ligne.
Maintenant, une fenêtre de navigation va s'ouvrir. Accédez au répertoire dans lequel vous avez installé Python lui-même . Pas celui avec PyCharm. Lorsque vous y arrivez, choisissez le fichier 'python.exe' et appuyez sur OK (la fenêtre disparaîtra).
Appuyez à nouveau sur OK (cette fenêtre disparaîtra également).
Maintenant, dans cette fenêtre, assurez-vous que la nouvelle ligne que vous avez créée est marquée et appuyez à nouveau sur OK.
Désormais, tous les packages installés doivent être visibles dans l'interpréteur de projet et lus par votre programme.
la source
La solution la plus simple qui a fonctionné pour moi que je ne vois pas mentionnée dans ce fil:
J'ai plusieurs versions de Python installées mais j'essayais d'utiliser Python3.7 - j'ai donc dû utiliser:
sudo pip3.7 install <package>
la source