title: TypeError: a bytes-like object is required, not 'str' - python 2 to 3
body: <p>Hi I am having trouble with this error message. I am new to Python and this Python2 and Python3 is a hassle. I'm not sure what to  do here, the error message is as shown below.</p>
  
  <pre class="lang-none prettyprint-override"><code>Using Ticker: AAPL
      Traceback (most recent call last):
        File "realtime.py", line 18, in &lt;module&gt;
          r=requests.get(auth_url, headers={"Authorization": "Basic %s" % base64.b64encode(os.environ['INTRINIO_USER'] + ":" + os.environ['INTRINIO_PASSWORD'])})
        File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\base64.py", line 58, in b64encode
          encoded = binascii.b2a_base64(s, newline=False)
      TypeError: a bytes-like object is required, not 'str'
  </code></pre>
  
  <p>The code I am using is as shown below.</p>
  
  <pre><code>import websocket
  import _thread
  import time
  import requests
  import base64
  import json
  import sys
  import os
  from requests.auth import HTTPBasicAuth
  
  try:
      print ("Using Ticker: " + str(sys.argv[1]))
  except:
      print ("Please include ticker as first argument")
      sys.exit()
  
  auth_url = "https://realtime.intrinio.com/auth";
  r=requests.get(auth_url, headers={"Authorization": "Basic %s" % base64.b64encode(os.environ['INTRINIO_USER'] + ":" + os.environ['INTRINIO_PASSWORD'])})
  
  socket_target = "wss://realtime.intrinio.com/socket/websocket?token=%s" % (r.text)
  
  def on_message(ws, message):
      try:
          result = json.loads(message)
          print (result["payload"])
      except:
          print (message)
  
  def on_error(ws, error):
      print ("###ERROR### " + error)
  
  def on_close(ws):
      print ("###CONNECTION CLOSED###")
  
  def on_open(ws):
      def run(*args):
          security = "iex:securities:" + str(sys.argv[1]).upper()
          message = json.dumps({"topic": security,"event": "phx_join","payload": {},"ref": "1"})
          ws.send(message)
      thread.start_new_thread(run, ())
  
  
  websocket.enableTrace(True)
  ws = websocket.WebSocketApp(socket_target, on_message = on_message, on_error = on_error, on_close = on_close)
  ws.on_open = on_open
  ws.run_forever()
  </code></pre>