AttributeError: 'module' objet n'a pas d'attribut python

Je suis assez nouveau à python et ont essayé de l'installation de python 2.7.9 suivant les étapes décrites ici. L'installation a échoué avec l'erreur suivante:

python make: *** [libinstall] Error 1

J'ai essayé de réinstaller la version précédente de python:

sudo apt-get install --reinstall  python2.7-dev

L'installation s'est déroulée normalement. Cependant, maintenant, lorsque vous essayez de importation hashlib j'obtiens les erreurs suivantes:

Traceback (most recent call last):
  File "./server.py", line 5, in <module>
    import hashlib
  File "/usr/lib/python2.7/hashlib.py", line 138, in <module>
    _hashlib.openssl_md_meth_names)
AttributeError: 'module' object has no attribute 'openssl_md_meth_names'

Je suis également impossible d'installer tous les paquets à l'aide de pip comme la seule sortie est la suivante:

Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

J'ai installé python-setuptools:

sudo apt-get install python-setuptools

pip fournit toujours le même résultat quelle que soit l'entrée. Suivant cette question, j'ai couru:

curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
chmod +x ez_setup.py
python ez_setup.py

La sortie est:

Traceback (most recent call last):
  File "ez_setup.py", line 19, in <module>
    import tempfile
  File "/usr/lib/python2.7/tempfile.py", line 35, in <module>
    from random import Random as _Random
  File "/usr/lib/python2.7/random.py", line 49, in <module>
    import hashlib as _hashlib
  File "/usr/lib/python2.7/hashlib.py", line 138, in <module>
    _hashlib.openssl_md_meth_names)
AttributeError: 'module' object has no attribute 'openssl_md_meth_names'

Où est le problème?

Edit #1:

La sortie de sudo apt-get install --reinstall python2.7-dev semble normal:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libjs-sphinxdoc linux-headers-generic linux-image-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 310 not upgraded.
Need to get 0 B/269 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 219657 files and directories currently installed.)
Preparing to unpack .../python2.7-dev_2.7.6-8_amd64.deb ...
Unpacking python2.7-dev (2.7.6-8) over (2.7.6-8) ...
Processing triggers for man-db (2.6.7.1-1) ...
Setting up python2.7-dev (2.7.6-8) ...

Edit #2:

J'ai trouvé cette question, qui s'attaque à un problème similaire. Il souligne cette fil qui utilise une checkinstall afin de récupérer tous les fichiers écrits et la création d'un .paquet deb:

sudo apt-get install checkinstall  # install the checkinstall package
cd /home/user/Python-2.7.9
sudo checkinstall -D --fstrans=no make install   # make the deb package

Lors de l'exécution de la dernière commande de la sortie est identique à celle donnée par faire installer:

...
Listing /usr/lib/python2.7/xml/parsers ...
Compiling /usr/lib/python2.7/xml/parsers/__init__.py ...
Compiling /usr/lib/python2.7/xml/parsers/expat.py ...
Listing /usr/lib/python2.7/xml/sax ...
Compiling /usr/lib/python2.7/xml/sax/__init__.py ...
Compiling /usr/lib/python2.7/xml/sax/_exceptions.py ...
Compiling /usr/lib/python2.7/xml/sax/expatreader.py ...
Compiling /usr/lib/python2.7/xml/sax/handler.py ...
Compiling /usr/lib/python2.7/xml/sax/saxutils.py ...
Compiling /usr/lib/python2.7/xml/sax/xmlreader.py ...
Compiling /usr/lib/python2.7/xmllib.py ...
Compiling /usr/lib/python2.7/xmlrpclib.py ...
Compiling /usr/lib/python2.7/zipfile.py ...
make: *** [libinstall] Error 1

Edit #3:

Il semble que tous les scripts sont pas en mesure d'exécuter. Je suis en train de travailler sur les algorithmes de signature(utilisé en bitcoin) et les outils mentionnés ici(bu, tx) sont tous en sortie la même erreur:

 Traceback (most recent call last):
  File "/usr/local/bin/bu", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

Edit #4:

J'ai aussi essayé l'approche mentionnée ici. La sortie de python get-pip.py
est la suivante:

Traceback (most recent call last):
  File "get-pip.py", line 28, in <module>
    import tempfile
  File "/usr/lib/python2.7/tempfile.py", line 35, in <module>
    from random import Random as _Random
  File "/usr/lib/python2.7/random.py", line 49, in <module>
    import hashlib as _hashlib
  File "/usr/lib/python2.7/hashlib.py", line 138, in <module>
    _hashlib.openssl_md_meth_names)
AttributeError: 'module' object has no attribute 'openssl_md_meth_names'

Si je commente la ligne:

import tempfile

l'exécution se poursuit alors jusqu'à la ligne 141:

Traceback (most recent call last):
  File "get-pip.py", line 19892, in <module>
    main()
  File "get-pip.py", line 141, in main
    tmpdir = tempfile.mkdtemp()
NameError: global name 'tempfile' is not defined

ce qui signifie que l'importation des bibliothèques suivantes:

import os.path
import pkgutil
import shutil
import sys
import struct
# import tempfile

réussit. Ce qui me fait croire que l'installation de python2.7.9 n'est que partiellement complet(le plus judicieusement suggéré dans les commentaires à cette question).

Edit #5:

J'ai rediffusé la configuration et la compilation suit:

./configure --prefix=/usr       \
            --enable-shared     \
            --with-system-expat \
            --with-system-ffi   \
            --enable-unicode=ucs4 &&
make

Les versions se termine avec:

Python build finished, but the necessary bits to build these modules were not found:
bsddb185           dl                 imageop         
sunaudiodev                                           
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

running build_scripts

Sont ces modules essentiels?

Martelli. Oui, édité.
Votre --reinstall ne vous donne pas 2.7.9 mais plutôt quelle que soit la version de Debian pensions de fournitures, peut-être 2.7.5. Cette méthode a en effet introduit dans 2.7.9 et vous avez terminé l'exercice avec un mixte installer, différents et incompatibles versions de Python et C les fichiers dans la bibliothèque. Regarder le deuxième réponse de stackoverflow.com/questions/27711323/... pour savoir comment obtenir 2.7.9 pour Debian via instable repos et l'épinglage (délicat). Mais de toute façon, d'abord désinstaller votre cassé Python et réinstaller à partir de zéro.
Martelli. Je suis en train de restaurer l'installation précédente(pour Debian). Il est installé correctement. Cependant, je ne suis pas en mesure d'exécuter n'importe quel script qui nécessite hashlib et pip semble cassé.
Donc, vous avez probablement des morceaux de la 2.7.9 installer tentative de traîner: désinstaller tous, la traque de tous les habituels suspects répertoires pour les morceaux errants qui n'ont pas été déracinés pour quelque raison que ce soit, et redémarrer à partir de zéro. C'est vraiment un sys-admin problème, en plus de la programmation, de sorte que vous pouvez avoir plus de chance de poser sur ServerFault, où la sysadm gourous ont tendance à traîner!-)
Haute cote si c'est ubuntu plutôt que la plaine de debian -- raison de plus pour la poser sur askubuntu.com d'où le réel ubuntu assistants sont, plutôt que sur cette programmation site web axé!-)

OriginalL'auteur Sebi | 2015-01-11