AttributeError: 'module' object has no attribute python
how to handle attribute error in python
how to remove attribute error in python
python attributeerror object has no attribute
python custom exception
I am fairly new to python and have tried installing python 2.7.9 following the steps described here. The installation failed with the following error:
python make: *** [libinstall] Error 1
I tried reinstalling the previous version of python:
sudo apt-get install --reinstall python2.7-dev
The installation proceeded normally. However, now, when trying to import hashlib I get the following errors:
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'
I am also unable to install any packages using pip as the only output provided is the following:
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
I installed python-setuptools:
sudo apt-get install python-setuptools
pip still provides the same output regardless of the input. Following this question I ran:
curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py chmod +x ez_setup.py python ez_setup.py
The output is:
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'
Where is the issue?
The output of sudo apt-get install --reinstall python2.7-dev seems 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 (188.8.131.52-1) ... Setting up python2.7-dev (2.7.6-8) ...
I have found this question which tackles a similar issue. It points to this thread which uses a checkinstall in order to retrieve all written files and creating a .deb package from them:
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
Upon running the last command the output provided is identical with the one given by make install:
... 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
It appears that all scripts are unable to run. I am working on signing algorithms(used in bitcoin) and the tools mentioned here(bu, tx) are all outputting the same error:
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
I have also tried the approach mentioned here. The output of python get-pip.py is the following:
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'
If I comment the line:
then execution continues up to line 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
meaning that the import of the following libraries:
import os.path import pkgutil import shutil import sys import struct # import tempfile
succeeds. This makes me believe that the installation of python2.7.9 is only partially complete(as wisely suggested in the comments to this question).
I have reran the configuration and compilation steps:
./configure --prefix=/usr \ --enable-shared \ --with-system-expat \ --with-system-ffi \ --enable-unicode=ucs4 && make
The builds terminates with:
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
Are these modules essential?
It's an old thread, but my answer might help others in the future.
Step 1. check _hashlib.openssl_md_meth_names through the following, and no error shows up.
$ python Python 2.7.9 (default, Oct 20 2016, 07:39:46) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import _hashlib >>> _hashlib.openssl_md_meth_names frozenset(['SHA256', 'SHA512', 'dsaWithSHA', 'md4', 'sha256', 'sha512', 'RIPEMD160', 'md5', 'whirlpool', 'SHA1', 'SHA224', 'SHA', 'SHA384', 'ecdsa-with-SHA1', 'MD4', 'DSA', 'sha1', 'DSA-SHA', 'sha224', 'dsaEncryption', 'ripemd160', 'sha', 'MD5', 'sha384']) >>>
change the followng line:
File "/usr/lib/python2.7/random.py", line 49, in <module> import hashlib as _hashlib
Then it's done.
6. Built-in Exceptions, The following exceptions are the exceptions that are actually raised. exception AssertionError ¶. Raised when an assert statement fails. exception AttributeError ¶. The AttributeError in Python is raised when an invalid attribute reference is made, or when an attribute assignment fails. While most objects support attributes, those that do not will merely raise a TypeError when an attribute access attempt is made.
File "/usr/lib/python2.7/hashlib.py", line 138, in _hashlib.openssl_md_meth_names) AttributeError: 'module' object has no attribute 'openssl_md_meth_names'
Can be fixed by running:
pip install hashlib
Python Exception Handling - AttributeError, The AttributeError in Python is raised when an invalid attribute reference is made, or when an attribute assignment fails. While most objects I usually think about attributes as nouns that belong to an object. For example, “the student has two eyes ”. But in Python, an attribute can also be an action that an object can perform—“The cat can jump ”. An attribute in Python means some property that is associated with a particular type of object.
in my case, i am using virtualenv just copied virtualenv folder from old machine into new ... in my new when i tried to install pip packages it threw this error..
i resolved this issue by creating new virtualenv reinstalled pip packages once again...
Python: AttributeError, These errors yields to the program not executed. One of the error in Python mostly occurs is “ AttributeError “. AttributeError can be defined as an error that is raised @desertnaut frankly, this question is 2 months old and I forgot it long time ago :). Sometimes I visit so many questions that I don't remeber questions from previous hour :) – furas 2 days ago
Error Encyclopedia, Attribute Error. Attributes in Python. I usually think about attributes as nouns that belong to an object. For example, “the student has two eyes”. But in Python, an Recent in Python. How to create new environment using conda? 21 hours ago How can I define a function that takes a list of first names and a list of last names, and returns a list of the corresponding full names where the last name is initialized 1 day ago
Why does this AttributeError in python occur?, This happens because the scipy module doesn't have any attribute named sparse . That attribute only gets defined when you import I ran into this problem when I checked out an older version of a repository from git. Git replaced my .py files, but left the untracked .pyc files. Since the .py files and .pyc files were out of sync, the import command in a .py file could not find the corresponding module in the .pyc files.
How to Get Rid of an Attribute Error in Python, When you get an attribute error in Python, it means you tried to access the attribute value of, or assign an attribute value to, a Python object or class instance in Concrete exceptions¶ The following exceptions are the exceptions that are usually raised. exception AssertionError¶ Raised when an assert statement fails. exception AttributeError¶ Raised when an attribute reference (see Attribute references) or assignment fails.
- @Alex Martelli. Yes, edited.
--reinstalldoesn't give you 2.7.9 but rather whatever version your Debian repo supplies, maybe 2.7.5. That method was indeed introduced in 2.7.9 and you may have ended up with a mixed install, different and incompatible versions of Python and C files in the library. Look at the second answer to stackoverflow.com/questions/27711323/… to find out how to get 2.7.9 for Debian via unstable repos and pinning (tricky). But anyway, first uninstall your current broken Python and reinstall from scratch.
- @Alex Martelli. I am trying to restore the previous installation(for Debian). It is being installed correctly. However, I am not able to run any script that requires hashlib and pip seems broken.
- So you probably have bits and pieces of the
2.7.9install attempt hanging around: uninstall it all, hunt down all the usual suspect directories for stray pieces that didn't get uprooted for whatever reason, and restart from clean slate. It's really a sys-admin problem, more than a programming one, so you may have better luck asking on ServerFault, where the sysadm gurus tend to hang out!-)
- High odds if it's ubuntu rather than plain debian -- all the more reason to ask on askubuntu.com where the real ubuntu wizards are, rather than on this programming-focused website!-)