pyaudio is based on PortAudio; all those silly messages are because of PortAudio's attempts to enumerate audio devices.
pyaudio device indexes are not necessarily the same as ALSA card indexes.
Use get_device_count() and get_device_info_by_index() to find the input device to use.