Binary Search Tree implementation in Python 3
A few quick points that came to my mind when looking at your code:

Documentation

Your code has no documentation whatsoever. Python has so called documentation strings, which are basically """triple quoted text blocks""" immediately following def whatever(...). Example:

def print_tree(self):
    """Print the content of the tree

    This method performs an in-order traversal of the tree
    """
    # ... your code here


Since your question title indicates that you're working with Python 3, also consider using type hints to document your code.

Naming

There is the infamous Style Guide for Python Code (aka PEP 8) which recommends to use lower_case_with_underscores for variable names and (member) functions. You do this for print_tree, but use camelCase for the other member functions.

Searching the tree

Your getSearchValue function is a little bit awkward in that it always returns None. Although your code promises to "get" the value, you instead print it to the console (together with the string "True") and return the return value of print which is None (aka no return value in that case). Your function also only returns something (other than the implicit None) if the value was found. In my opinion something like 

def has_value(self, data):
    """Return True or False indicating whether the value is in the BST"""
    if data == self.data:
        return True
    if data &lt; self.data:
        if self.left is not None:
            return self.left.has_value(data)   
    if data &gt; self.data:
        if self.right is not None:
            return self.right.has_value(data)
    return False


would be a more appropriate approach. As you can see, this function returns an appropriate bool value to signal the result. 

Another minor tweak: this implementation uses if ... is not None: to explicitly check for None as signaling value. Since None is a singleton in Python, you should always use is (not) to check for equality.

Unnecessary parentheses

The parentheses around the condition in while(current.left is not None): are not needed. while works the same way as if in that regard. They are sometimes used for longer conditions that span multiple lines, since Python does implicit line joining in that case.



I'm also not fully convinced about your delValue function, but unfortunately I'm a little bit short on time at the moment.