104 votes

"ImportError : No module named site" sur Windows

J'essaie d'installer Python pour la première fois. J'ai téléchargé le programme d'installation suivant depuis le site Web de Python : Python 2.7.1 Windows Installer (binaire Windows -- ne comprend pas les sources) . J'ai ensuite lancé le programme d'installation, sélectionné "All Users" et tout s'est bien passé. J'ai installé Python à l'emplacement par défaut :

C:\Python27

Ensuite, pour vérifier que Python a été installé correctement, j'ai navigué jusqu'à mon répertoire Python, et j'ai exécuté python dans l'invite CMD de Windows. Il me renvoie l'erreur suivante :

ImportError : Aucun module nommé site

Quand j'exécute python -v J'obtiens ce qui suit :

installation du crochet zipimport

import zipimport # builtin

installed zipimport hook

ImportError : Aucun module nommé site

Clair intégré ._

clear sys.path

clear sys.argv

clear sys.ps1

clear sys.ps2

Effacer sys.exitfunc

clear sys.exc_type

clear sys.exc_value

clear sys.exc_traceback

clear sys.last_type

# effacer sys.last_value

clear sys.last_traceback

clear sys.path_hooks

clear sys.path_importer_cache

clear sys.meta_path

clear sys.flags

clear sys.float_info

restaurer sys.stdin

restaurer sys.stdout

restaurer sys.stderr

cleanup principal

cleanup [1] zipimport

cleanup [1] signal

cleanup [1] exceptions

cleanup [1] _warnings

cleanup sys

cleanup intégré

cleanup ints : 6 ints non libérés

Cleanup Floats

Quand je le fais dir C:\Python27\Lib\site.py* J'obtiens ce qui suit :

 Directory of C:\Python27\Lib  

13/11/2010  20:08            20,389  site.py  
               1 File(s)         20,389 bytes  
               0 Dir(s)     694,910,976 bytes free  

Des idées ?

0 votes

En supposant que vous n'avez pas changé l'emplacement d'installation par défaut, le fichier C:/Python27/Lib/site.py existe-t-il sur votre ordinateur ?

0 votes

Oui, site.py est situé dans ce dossier.

7 votes

@Mimminito : Je suis curieux (un peu) de savoir pourquoi vous avez disparu pendant 9 mois et n'acceptez ma réponse que maintenant, et (beaucoup) de savoir si vous avez découvert quel était le problème sous-jacent.

147voto

RenderCase Points 509

Hey, j'ai été à la recherche dans ce problème pour moi pendant presque une journée et a finalement eu une percée. Essayez ceci:

  1. Réglage de la PYTHONPATH / PYTHONHOME variables

    Cliquez-droit sur l'icône de l'Ordinateur dans le menu démarrer, allez dans les propriétés. Sur l'onglet de gauche, allez dans paramètres système Avancés. Dans la fenêtre qui s'ouvre, allez à l'onglet Avancé, puis en bas cliquez sur Variables d'Environnement. Cliquez dans la liste des variables utilisateur et de commencer à taper Python, et répétez l'opération pour les variables du Système, juste pour faire certain que vous n'avez pas mis-ensemble de variables pour PYTHONPATH ou PYTHONHOME. Ensuite, ajouter de nouvelles variables (je l'ai fait dans le Système plutôt que de l'Utilisateur, même si elle peut travailler pour l'Utilisateur): PYTHONPATH, mis à C:\Python27\Lib. PYTHONHOME, mis à C:\Python27.

Espérons que cette aide!

9 votes

Et vous devez ajouter %PYTHONHOME% à votre variable de chemin pour que cela fonctionne.

7 votes

Aha ! Cela devrait être la réponse à la question. Pour moi, c'était une variable PYTHONHOME définie sur un chemin invalide... Je l'ai supprimée, et maintenant ça marche ! Il semble que le mod Alien Swarm de Steam ait ajouté cela.

2 votes

La mise en place d'aucun des PYTHONPATH/PYTHONHOME devraient être nécessaires pour que Python puisse localiser site.py placé dans le Lib dossier. Cette réponse est au mieux une solution de contournement.

42voto

slckin Points 513

Solution rapide : définir PYTHONHOME et PYTHONPATH et inclure PYTHONHOME dans PATH.

Par exemple, si vous avez installé à c : \Python27

set PYTHONHOME=c:\Python27
set PYTHONPATH=c:\Python27\Lib
set PATH=%PYTHONHOME%;%PATH%

Assurez-vous qu'il n'y a pas de '\' à la fin des variables PYTHON*, car cela semble également provoquer des problèmes.

3 votes

Si vous êtes sous Windows 10, c'est maintenant : setx PYTHONHOME " C:\Python27 " setx PYTHONPATH " C:\Python27\Lib " setx PATH "%PYTHONHOME%;%PATH%"

0 votes

Cela a bien fonctionné pour moi sous Windows 7 avec Python 3.6.

12voto

Mika Points 81

Assurez-vous que votre variable d'environnement PYTHONHOME est correctement définie. Vous recevrez cette erreur si PYTHONHOME pointe vers un emplacement non valide ou vers une autre installation Python que vous essayez d'exécuter.

Essayez ça :

C:\>set PYTHONHOME=C:\Python27
C:\>python

Utilisez

setx PYTHONHOME C:\Python27

pour définir ce paramètre de façon permanente pour les invites de commande suivantes

6 votes

Utilisez setx PYTHONHOME C:\Python27 pour le définir de façon permanente pour les commandes suivantes. Sinon, vous devez utiliser la commande set à chaque fois.

12voto

Jorge Vargas Points 585

J'ai rencontré ce problème après avoir installé à la fois Windows Python et Cygwin Python, et après avoir essayé d'exécuter Cygwin Python depuis Cygwin. J'ai résolu le problème en export en introduisant PYTHONHOME=/usr/ et PYTHONPATH=/usr/lib/python2.7

4voto

idbrise Points 4551

Essayez-vous d'exécuter Windows Python à partir de Cygwin ? J'ai le même problème. Python dans Cygwin ne parvient pas à importer le site. Python dans Cmd fonctionne.

Il semble que vous deviez vous assurer que vous exécutez PYTHONHOME et PYTHONPATH par le biais de cygwin -aw pour en faire des chemins Windows. De plus, python semble utiliser des chemins incorrects.

Je pense que je vais devoir installer python via cygwin pour que ça fonctionne.

1 votes

Bonjour, ce n'est probablement plus un problème pour vous, mais si d'autres personnes rencontrent ce problème, consultez mon commentaire sur la question principale. En gros, vous devez convertir PYTHONPATH à un chemin de style Windows avec export PYTHONPATH=$(cygpath -w $PYTHONPATH) .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X