Listing an optional Python dependency in setup.py
A few small comments:


The error message looks wrong to me.

This is what the logic looks like to me:

if (third party package is installed):
    install(in-house package)
else:
    install(in-house package)
    install(in-house variant of third-party package)


but the printed warning tells me that the in-house package isn’t installed. Shouldn’t it tell me the third-party package isn’t installed?
An ImportError doesn’t necessarily mean a module isn’t installed. 

It just indicates any error when the module was imported. For example, if I have a file foo.py that contains:

import bar


and no module bar.py, I get an ImportError when trying to import foo, even though the foo file exists:

&gt;&gt;&gt; import foo
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  File "foo.py", line 1, in &lt;module&gt;
    import bar
ImportError: No module named bar




You can jump through hoops with import tools, or check the error message of the ImportError. That may or may not be something worth worrying about; just remember that this edge case is there.
Trivial nitpicks.


I’m sure this is just an artefact of posting on CR, and it isn’t actually called in_house_package, but you’ve misspelt it in the error message.
When specifying keyword arguments to a function (such as setup()), it’s common to omit the spaces around the equals sign.