Пока еще не полное решение, но если бы вы использовали только простые объекты сокетов, вы могли бы сделать то, что вам нужно, следующим образом:
import socket
s = socket.socket()
s.bind(("127.0.0.1", 0)) # replace "127.0.0.1" by the local IP of the interface to use
s.connect(("remote_server.com", 80))
Таким образом, вы заставите систему привязать сокет кхотел сетевой интерфейс.