title: 'builtin_function_or_method' object has no attribute 'randrange'
body: <p>i am having a weird issue, </p>
  
  <p>i have created the following code to randomly generate numbers between 1 and x with increments of 1 and to store them</p>
  
  <pre><code>import random
  
  bootstrap_node_list_recieved = [] #List of all nodes addresses recieved during the bootstrap peroid - Is a list so we can compare duplicatition probability etc
  average_getAdrr_no_node_response = 100 #Number or nodes typically sent when a node requests a getAddr message
  network_ip_node_size = 5000 # Number of IP addresses / nodes that have been seen on the network in the past 2 weeks
  
  
  #Move into calculations.py when ready
  #Number of nodes recieved (Bootstrap)
  def bootstrap_node_getAddr():
      #### TODO ####
      #Random generation of nodes (number represents a single node), from 1 to x for an average amount of nodes
      # node_list=[random.randrange(1,network_ip_node_size,1) for _ in range (average_getAdrr_no_node_response)]
      for i in range (average_getAdrr_no_node_response):
          bootstrap_node_list_recieved.append(random.randrange(1,network_ip_node_size,1))
      print 'bootstrap_node_getAddr: ', bootstrap_node_list_recieved
      # return bootstrap_node_list_recieved
  
  bootstrap_node_getAddr()
  </code></pre>
  
  <p>this code is working fine on its own, however when i insert it into my main code base i get the error </p>
  
  <pre><code>Traceback (most recent call last):
    File "BootstrapBTC.py", line 117, in query_dns_servers
      bootstrap_node_getAddr()
    File "/home/richard/Dropbox/PhD/Simulator BTC - Ours/Calculations.py", line 33, in bootstrap_node_getAddr
      bootstrap_node_list_recieved.append(random.randrange(1,network_ip_node_size,1))
  AttributeError: 'builtin_function_or_method' object has no attribute 'randrange'
  
  The above exception was the direct cause of the following exception:
  
  Traceback (most recent call last):
    File "BootstrapBTC.py", line 90, in run
      yield self.env.process(query_dns_servers(env, self))
  AttributeError: 'builtin_function_or_method' object has no attribute 'randrange'
  
  The above exception was the direct cause of the following exception:
  
  Traceback (most recent call last):
    File "BootstrapBTC.py", line 178, in &lt;module&gt;
      env.run()
    File "/usr/local/lib/python2.7/dist-packages/simpy/core.py", line 137, in run
      self.step()
    File "/usr/local/lib/python2.7/dist-packages/simpy/core.py", line 229, in step
      raise exc
  AttributeError: 'builtin_function_or_method' object has no attribute 'randrange
  </code></pre>
  
  <p>the code on line 90 is</p>
  
  <pre><code>    yield self.env.process(query_dns_servers(env, self))
  </code></pre>
  
  <p>which just calls</p>
  
  <pre><code>#Average respsonse time from a DNS server
  def DnsServerResponse(env, self):
      yield self.env.timeout(dns_average_response)
  </code></pre>
  
  <p>which appends a random value into the simulation time, i do not think it has anything to do with this line of code since it doesn't use the random library at all, infact the code inserted is the only thing so far which uses the library</p>
  
  <p>anyone got any ideas what the issue is ? it is driving me mad ! </p>
  
  <p>Thanks !</p>
  
  <p>tried changing my import to just import random, and now get :</p>
  
  <pre><code>Traceback (most recent call last):
    File "BootstrapBTC.py", line 102, in query_dns_servers
      DnsUp = DnsUpProbability()
    File "/home/richard/Dropbox/PhD/Simulator BTC - Ours/Calculations.py", line 39, in DnsUpProbability
      up = (0 if random() &gt; Prob_DNS_UP else 1)
  TypeError: 'module' object is not callable
  </code></pre>