title: "no module named imutils" when it says imutils is installed?
body: <p>I want to run this code on my Raspberry Pi 3. I have used <code>pip install imutils</code> on the Pi but, when I run the code via the CLI, it returns "<em>No module named imutils</em>". I do not wish to use virtual environments. I have cv2 running correctly on the Pi and that works no problem, is there a fix for this <code>imutils</code> problem?</p>
  
  <p>Updating, upgrading, removing imutils but it is needed. </p>
  
  <pre><code>import numpy as np
  import cv2
  import Person
  import time
  import imutils
  import datetime
  
  cap = cv2.VideoCapture('testVideo.mp4')
  fgbg = cv2.createBackgroundSubtractorMOG2(detectShadows=True)  # Create the background substractor
  
  kernelOp = np.ones((3, 3), np.uint8)
  kernelOp1 = np.ones((7, 7), np.uint8)
  kernelOp2 = np.ones((5, 5), np.uint8)
  
  kernelCl = np.ones((11, 11), np.uint8)
  kernelCl1 = np.ones((20, 20), np.uint8)
  kernelCl2 = np.ones((25, 25), np.uint8)
  
  # Variables
  font = cv2.FONT_HERSHEY_SIMPLEX
  persons = []
  max_p_age = 5
  pid = 1
  areaTH = 5000
  w_margin = 50
  h_margin = 50
  wmax = 500
  
  import pdb;
  
  pdb.set_trace()  # debuginimo pradzia
  
  # Atvaizdavimo kintamieji
  cnt_up = 0
  cnt_down = 0
  line_down_color = (255, 0, 0)
  line_up_color = (0, 0, 255)
  pts_L1 = np.array([[0, 320], [480, 320]])
  pts_L2 = np.array([[0, 400], [480, 400]])
  
  counter = 0
  
  while (cap.isOpened()):
      ret, frame = cap.read()  # read a frame
  
      frame = imutils.resize(frame, width=min(640, frame.shape[1]))
  
      fgmask = fgbg.apply(frame)  # Use the substractor
      try:
          ret, imBin = cv2.threshold(fgmask, 200, 255, cv2.THRESH_BINARY)
  
          mask0 = cv2.morphologyEx(imBin, cv2.MORPH_OPEN, kernelOp2)
  
          mask = cv2.morphologyEx(mask0, cv2.MORPH_CLOSE, kernelCl2)
      except:
          # if there are no more frames to show...
          print('EOF')
          break
  
      maskOriginal = mask
  
      _, contours0, hierarchy = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
      ########if contour is too big cut in half
      mask2_flag = 0
      for cnt in contours0:
          area = cv2.contourArea(cnt)
          if area &gt; areaTH:
              M = cv2.moments(cnt)
              cx = int(M['m10'] / M['m00'])
              cy = int(M['m01'] / M['m00'])
              x, y, w, h = cv2.boundingRect(cnt)
              if w &gt; wmax:
                  mask2 = cv2.line(mask, ((x + w / 2), 0), ((x + w / 2), 640), (0, 0, 0), 10)
                  mask2_flag = 1
  
      if mask2_flag == 0:
          mask2 = mask
  
      cv2.imshow('Mask line', mask2)
      cv2.imshow('mask to open', mask0)
      cv2.imshow('Mask initialize', maskOriginal)
      cv2.imshow('initial subtraction', imBin)
  
      _, contours0, hierarchy = cv2.findContours(mask2, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
      for cnt in contours0:
          cv2.drawContours(frame, cnt, -1, (0, 255, 0), 3, 8)
          area = cv2.contourArea(cnt)
  
          for i in persons:
              i.updateDingimas(i.getDingimas() + 1)
              if i.getDingimas() &gt; 25:
                  persons.remove(i)
  
          if area &gt; areaTH:
  
              M = cv2.moments(cnt)
              cx = int(M['m10'] / M['m00'])
              cy = int(M['m01'] / M['m00'])
              x, y, w, h = cv2.boundingRect(cnt)
  
              print('x{} y{} w{} h{}'.format(x, y, w, h))
  
              new = True
              for i in persons:
                  if abs(x - i.getX()) &lt;= w_margin and abs(y - i.getY()) &lt;= h_margin:
                      new = False
                      i.updateCoords(cx, cy)
                      i.updateDingimas(0)
                      break
  
              if new == True:
                  p = Person.MyPerson(pid, cx, cy, max_p_age)
                  persons.append(p)
                  pid += 1
  
              cv2.circle(frame, (cx, cy), 5, (0, 0, 255), -1)
              img = cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
              cv2.drawContours(frame, cnt, -1, (0, 255, 0), 3)
              cv2.imshow('img', img)
  
      #########################
      # Trajectory rendering
      #########################
      for i in persons:
          if len(i.getTracks()) &gt;= 2:
              pts = np.array(i.getTracks(), np.int32)
              pts = pts.reshape((-1, 1, 2))
              frame = cv2.polylines(frame, [pts], False, i.getRGB())
  
          if i.getDir() == None:
              i.kurEina(pts_L2[0, 1], pts_L1[0, 1])
              if i.getDir() == 'up':
                  cnt_up += 1
                  print('Timestamp: {:%H:%M:%S} UP {}'.format(datetime.datetime.now(), cnt_up))
              elif i.getDir() == 'down':
                  cnt_down += 1
                  print('Timestamp: {:%H:%M:%S} DOWN {}'.format(datetime.datetime.now(), cnt_down))
  
          cv2.putText(frame, str(i.getId()), (i.getX(), i.getY()), font, 0.7, i.getRGB(), 1, cv2.LINE_AA)
  
      #########################
      # Rendering
      #########################
      str_in = 'In: ' + str(cnt_up)
      str_out = 'Out: ' + str(cnt_down)
      frame = cv2.polylines(frame, [pts_L1], False, line_down_color, thickness=4)
      frame = cv2.polylines(frame, [pts_L2], False, line_up_color, thickness=4)
      cv2.putText(frame, str_in, (10, 50), font, 1, (0, 0, 255), 2, cv2.LINE_AA)
      cv2.putText(frame, str_out, (10, 100), font, 1, (255, 0, 0), 2, cv2.LINE_AA)
  
      cv2.imshow('Frame', frame)
  
      # Abort and exit with 'Q' or ESC
      k = cv2.waitKey(30) &amp; 0xff
      if k == 27:
          break
  
  cap.release()  # release video file
  cv2.destroyAllWindows()  # close all openCV windows
  </code></pre>
  
  <p>I want to run this code without "<em>No module named imutils</em>" error.</p>