1. ホーム
  2. python

[解決済み] コード内にpythonモジュールをインストールする

2022-03-24 02:44:11

質問

PyPiからパッケージを直接スクリプト内にインストールする必要があります。 多分、何らかのモジュールか distutils ( distribute , pip など)機能を使うことで、次のようなことを実行することができます。 pypi.install('requests') とリクエストすると、virtualenvにインストールされます。

解決方法は?

スクリプトからパッケージをインストールする方法として公式に推奨されているのは、サブプロセス経由でpipのコマンドラインインターフェイスを呼び出す方法です。 ここで紹介する他のほとんどの回答は、pipでサポートされていません。 . さらに、pip v10以降、すべてのコードが pip._internal これは、プログラムによるpipの使用は許可されていないことをユーザーに明確にするためです。

使用方法 sys.executable を呼び出すようにすることで、同じ pip を現在のランタイムに関連付ける。

import subprocess
import sys

def install(package):
    subprocess.check_call([sys.executable, "-m", "pip", "install", package])