python2には整数を表す型にint(整数)とlong(長整数)の2つが存在しています。
このlongはintと共通のサブクラスを持たないので注意が必要です。
例えば変数が整数値であるか判定するのに以下のようにする必要があります。
if isinstance(value, (int, long)): # isinstance(value, int) ではダメ
print('OK')
また、bool型はintをサブクラスに持つので、boolを取り除くのに以下のようにしてはじきます。
if isinstance(value, (int, long)) and not (isinstance(value, bool)):
print('OK')
通常pythonを使う上でlongはあまり使われないのであまり問題ないのですが、dbから値を取ってくるときにormがdbの型に合わせてlongを使うことがあります。
python3系だとlongは廃止されintに集約されています。
boolはpython3でもintのサブクラスのままです。