pipをブラックリストに載せる方法はありますか?ただ私がいないときvenv?

pipをブラックリストに載せる方法はありますか?ただ私がいないときvenv?

私が質問した後Pythonパッケージを処理するためのPipとパッケージマネージャの比較venv特にモジュールの仮想環境について多くを学びました。最近はほぼパッケージだけをインストールします。pip ~へ仮想環境私はシステム全体にPythonパッケージをほとんどインストールしません。

pip installしかし、私がいつも恐れていることの1つは、コマンドがアクティブになっていないことに気づかずにコマンドを実行できることですvenv

pipをブラックリストに載せる方法はありますか?ただ私がいないときvenv

答え1

グローバルオプションがありますrequire-virtualenv動作するには仮想環境が必要ですpip

この機能を実装するさまざまな方法(1つを選択してください):

  • ~/.config/pip/pip.confたとえば、または次の設定オプション(私が好むもの)として/etc/pip.conf

    [global]
    require-virtualenv = True
    

    これを実行することもできます注文する構成ファイルを変更/生成します。

    pip config set global.require-virtualenv True
    
  • 環境変数を使用してPIP_REQUIRE_VIRTUALENVvalueに設定しますtrue

  • --require-virtualenvコマンドラインオプションを直接使用してください。

virtualenvの外部にパッケージをインストールしようとすると、次のエラーが表示されます。

ERROR: Could not find an activated virtualenv (required).

pipをアップグレードするか、以前のPythonバージョンにvirtualenvをインストールするためにこのオプションを一時的にオーバーライドする必要がある場合は、コマンドの前にPIP_REQUIRE_VIRTUALENV=false.

注: 以前の pip バージョン (< 22.0) では、このオプションは出力とドキュメントに欠けているように見えますが、--help私はうまくいきます。最新バージョンとして20.3.4を使用してPython 2.7.xでテストされました。

注:公開アカウント 704(作成時の草案)は提案です。「[...] Python 3.13+では、pipなどのパッケージインストーラにはデフォルトで仮想環境が必要です。」

答え2

シェルエイリアスを使用してpip仮想環境の外部を引き継ぐことができます。

alias 'pip=cowsay "You are not in a virtual environment"'

virtualenv起動ファイル(例:venvを入力したときに取得するファイル):

unalias 'pip'

関連情報