MalyG
MalyG

Reputation: 321

Python "import random" Error

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

Answers (5)

Tonmoy Mojumder
Tonmoy Mojumder

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

Shashank Sharma
Shashank Sharma

Reputation: 37

The simple answer: Change your filename from "random.py" to something else as it is conflicting with random library.

Upvotes: 0

Mounika
Mounika

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

William Cheung
William Cheung

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

James Henstridge
James Henstridge

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

Related Questions