pip
を使用せずにPythonホイールをインストールできますか?pip
でのインストールには常に問題があります。 。同様の方法でホイールファイルを実行する方法があるかどうか疑問に思っています。
そうです。実際、.whlファイルは単なるZipアーカイブであるため、コンテンツを抽出し、ライブラリパス変数を操作して動作させることができます。しかし、それは本当に悪い習慣です。
インターネットにアクセスできるであると仮定していますが、有効なpipインストールがないです。
ピップホイールをダウンロードします。
wget https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl
そもそもリリースのURLを見つけるには、インデックスjsonエンドポイントを取得できます。例えば:
$ curl -s https://pypi.org/pypi/pip/json | jq ".urls[0].url"
"https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl"
他のホイールファイルで「実行」します。たとえば、bdistからsetuptools v39.0.1をインストールしようとした場合、コマンドは次のようになります。
$ python pip-10.0.1-py2.py3-none-any.whl/pip install --no-index setuptools-39.0.1-py2.py3-none-any.whl
Processing ./setuptools-39.0.1-py2.py3-none-any.whl
Installing collected packages: setuptools
Successfully installed setuptools-39.0.1
これでsetuptoolsが動作するようになりましたが、pipはありません。
あなたが疑問に思っている場合、はい、あなたはpip自体をインストールするために同じトリックを使用できます。そのコマンドは次のようになります。
python pip-10.0.1-py2.py3-none-any.whl/pip install --no-index pip-10.0.1-py2.py3-none-any.whl
これで、このpython
実行可能ファイルが指しているインタープリターに関連付けられた、有効なpipインストールがあるはずです。