How to generate mycelium addresses from the 12 words in python
The difficulty is with the poorly named BIP32Key.fromEntropy.

Typically to create a new wallet, you:


Get some entropy from a cryptographically secure random source, at least 128 bits and must be a multiple of 32 bits.
Convert the entropy to a mnemonic (this conversion is not a one-way function, it's bijective).
Convert the mnemonic to a 512-bit seed (this conversion is one way).
Convert the seed to an extended private key (also one way).
Do the BIP-32 derivation and all the rest....


BIP32Key.fromEntropy really should have been named BIP32Key.fromSeed.

Here's an example:

from bip32utils import BIP32Key
from bip32utils import BIP32_HARDEN
import os, bip39

strength_bits = 128
entropy = os.urandom(strength_bits // 8)
wallet_generator = bip39.Mnemonic('english')
mnemonic = wallet_generator.to_mnemonic(entropy)
assert wallet_generator.to_entropy(mnemonic) == entropy  # see, bijective!

# Or specify the mnemonic directly if you prefer:
mnemonic = 'aware report movie exile buyer drum poverty supreme gym oppose float elegant'

print mnemonic
seed = bip39.Mnemonic.to_seed(mnemonic)
key = BIP32Key.fromEntropy(seed)
account_number = 0
i = 0
print key.ChildKey(44 + BIP32_HARDEN) \
         .ChildKey(0 + BIP32_HARDEN) \
         .ChildKey(account_number + BIP32_HARDEN) \
         .ChildKey(0) \
         .ChildKey(i) \
         .Address()