Reputation: 321
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.
Upvotes: 6
Views: 44686
Reputation: 1
You can install random2 by following command : pip install random2 Copy the code below :
import random2
from random2 import choice,randint
list = [1,2,3,4,5 ]
print(random2.choice(list))
print(random2.randint(1,100))
It should work..
Upvotes: -1
Reputation: 37
The simple answer: Change your filename from "random.py" to something else as it is conflicting with random library.
Upvotes: 0
Reputation: 21
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;
Upvotes: 0
Reputation: 1
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
Upvotes: -1
Reputation: 43899
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.
Upvotes: 19