2014-06-11 2 views
20

Je tentais d'installer Django et pymc hier. Après avoir rencontré beaucoup de problèmes, j'ai décidé de réinstaller Python 2.7. Je l'ai fait mais j'ai maintenant des problèmes à importer presque n'importe quoi. Je reçois un tas de lignes, dont les dernières sont:import _socket: "Erreur d'importation: le chargement de la DLL a échoué"

File "c:\python27\lib\httplib.py", line 71, in <module> 
    import socket 
File "c:\python27\lib\socket.py", line 47, in <module> 
    import _socket 
ImportError: DLL load failed: The specified procedure could not be found. 

Que je lance python dans l'invite de commande (qui fonctionne) et essayer de faire import pip, ou tapez l'extérieur de la coquille python get-pip.py je reçois ces mêmes dernières lignes.

Je dois préciser pour le dossier que j'ai deux versions de python sur ma machine, l'une étant 2.7, et l'autre étant I THINK 2.6 situé dans un dossier canopy, mais cela ne fonctionne pas non plus, donnant un message d'erreur de `ImportError: aucun module nommé os. 'J'ai ma variable d'environnement PATH menant avec" c: \ python27; c: \ python27 \ scripts "

J'ai réinstallé python quelques fois maintenant, et j'ai essayé l'option de réparation aussi, mais en vain.Quelqu'un a des idées

EDIT: Il semble que lorsque j'ai désinstallé Python, j'ai négligé de supprimer le dossier C: \ Python27.J'ai désinstallé à nouveau, supprimé le dossier, puis réinstallé et cela fonctionne maintenant. pour l'aide.

+1

Est-ce que '_socket.pyd' se trouve dans votre répertoire python27 \ DLLs? Pouvez-vous exécuter python.exe directement, puis tenter d'importer _socket'? Si cela fonctionne, que contient '_socket .__ file__'? –

+0

Oui, '_socket.pyd' est dans C: \ Python27 \ DLLs. Exécuter python et essayer d'importer '_socket' me donne le même ImportError qu'avant. – user3731928

+0

Comment avez-vous installé Python? – geoffspear

Répondre

0

Je suggère d'obtenir, PyWin32 ou PyWin64, selon l'architecture de votre système. Si votre système est x86, obtenez PyWin32, sinon obtenez PyWin64 si votre système est x64. J'ai des problèmes similaires et obtenir PyWin32 m'a aidé à résoudre ces problèmes.

-1

En fait, son regard comme l'importation _socket appels est été omis qui provoque cette erreur ImportError: charge DLL n'a

La fonction b85decode get-pip.py() tente d'importer le _socket qui est introuvable , La solution à ceci est que vous pouvez installer n'importe quelle version de 3.X et exécuter le get-pip.py qui devrait résoudre le problème et installer pip.

C: \ Python33> python.exe C: \ get-pip.py

Collecte pip Téléchargement pip-7.1.2-py2.py3-none-any.whl (1.1Mo) 100% | ################################ | 1.1MB 197KB/s

Installation des paquets collectés: pépin, setuptools, roue installé avec succès pip-7.1.2-setuptools 18,5 roue-0.26.0

+0

Comment cela aide-t-il à obtenir un Python 2.7 fonctionnel? – BlackJack

0
import sys 
sys.path.append("address where the socket module is present like C:\Python34\Lib\") 
import socket 

essayer ce qu'il pourrait fonctionner

2

J'ai eu la même erreur après la mise à niveau vers python 2.7.12.

Pour le résoudre, j'ai fait une autre installation dans le même répertoire. Fait intéressant, le programme d'installation n'a pas reconnu l'installation existante. Je me suis assuré de vérifier "ajouter python.exe au chemin". Après ça, ça a marché.

En essayant à nouveau d'installer python 2.7.12, le programme d'installation a reconnu l'installation existante et m'a proposé des options de modification/réparation/désinstallation.

Mise à jour: Rétrospectivement, la raison pourrait être que j'ai involontairement mélangé une installation 32 bits avec une mise à jour 64 bits (ou vice versa).Python ne semble pas s'installer dans des répertoires différents ou utiliser des noms de DLL différents. L'installateur ne vous avertit pas non plus. Donc, après la mise à jour, vos DLL sont un mélange malsain de variantes 32 et 64 bits.

0

Cela semble être un problème avec Python 2.7.13 en ce moment. L'installation de 2.7.12 l'a corrigé pour moi.

Questions connexes