>>584
さんくすです。そうか、ライブラリじゃなくて組み込み関数だったのか。
このままだと代入先があらかじめわかってないとだめなので
mod_name = 'mymodule'
locals()[mod_name] = __import__(mod_name)
でいくことにしました。execよりは見た目複雑ですけど、これでOKです。

>>586
import モジュール名 と
import 変数名 との区別がつけられないからです。
現状の構文では、import XXX によって、モジュール名と、そのモジュールを代入する変数の両方を同時に指定している訳で、
これが import 'モジュール名' だとモジュールを代入する変数を文字列で指定することになり、pythonのしくみとしてはおかしいかなと思いました。
rubyとは違って、モジュールを変数に代入するのがpythonなので、これは仕方ないと思ってます。