PythonのパッケージをPyPIからインストールする場合、pip
やeasy_install
などのシェルコマンドを利用すると思いますが、Pythonのスクリプトからパッケージをインストールし、続けて新たにインストールしたパッケージを利用する方法を紹介します。
どのような場合に役に立つかというと、オンラインシェルでデフォルトで入っていないパッケージを使いたい場合です。PythonAnywhereを使えば、Pythonの公式サイトにあるような、ウェブページにPythonのシェルを埋め込むことができます。このPythonAnywhereのオンラインシェルですが、メジャーなパッケージは利用可能できる状態ですが、デフォルトで入っていないパッケージを使用したい場合があります。
そのような場合、そのオンラインシェルで次のコードを実行します。modelx
はPyPIにあるインストールしたいパッケージ名です。以下の例はPython3の場合ですが、Python2.7ではreload
が組み込み関数なのでimportlib
をインポートする必要はなく、3行目は単にreload(site)
になります。
import pip, site, importlib
pip.main(['install', '--user', 'modelx']) # pip install --user modelx を実行
importlib.reload(site) # sys.pathをリフレッシュする
import modelx
PythonAnywhereでは、自動的にgistを実行する機能があるので、gistにこのコードを書いておけば、使いたいパッケージをインストールした状態でコンソールが利用可能になると思います。
参考