As you may know from my previous posts, I'm learning Python. And this time I have a small error which I think is with this build of Python itself. When using the following:
import random
number = random.randint(1,10000)
Python gives me this error:
File "C\Users\name\Documents\Python\random.py", line 5, in (module)
print random.random()
TypeError: 'module' object is not callable
Every time I try to run it. Me no understand. Any help would be much appreciated!
EDIT: The two lines of code I'm trying to run:
import random
print random.randint(1,100)
That's it. And it gives me the same error.
By naming your script random.py
, you've created a naming conflict with the random
standard library module.
When you try to run your script, the directory containing the script will be added to the start of the module import path. So when your script does import random
, you're effectively running a second copy of the script as the random
module.
When the random
module runs import random
, it means that random.random
will also be a reference to your module. So when you attempt to call the random.random()
standard library function, you're actually attempting to call the module object resulting in the error you got.
If you rename your script to something else, the problem should go away.
I am using pycharm and I had to take the additional step to import the methods from random
. In my case:
import random
from random import choice
Even I faced the same problem. I have renamed my python file from random.py to shuffle.py. This didn't work out. Then I changed the version then it worked. This may help a bit.
Python version : 3.6.7
replace
import random;
to
import random2;