ビルドスクリプトの外側からpipの--upgrade
の振る舞いを制御したいのですが、私が設定できる変数はPIP_...
です。これはPIPでデフォルトで使用されます。それぞれのコマンドラインに追加する必要はありません。余分なパラメータに使用できるpip環境変数はありますか?
ドキュメントにはPIP_
environment variablesについての記載がありますが、その一覧は記載されていません。
ビルドスクリプトの外側からpipの--upgrade
の振る舞いを制御したいのですが、私が設定できる変数はPIP_...
です。これはPIPでデフォルトで使用されます。それぞれのコマンドラインに追加する必要はありません。余分なパラメータに使用できるpip環境変数はありますか?
ドキュメントにはPIP_
environment variablesについての記載がありますが、その一覧は記載されていません。
短い答え:
EDIT:あなたへの要件の指定テキストファイルとアップグレード動作の両方を含み、その後、あなたの欲求をアップグレードしたいすべてのパッケージが含まれている要件の指定ファイルを作成します。構成ファイル。これで、単純なコマンドpip install
を使用して、任意の数のパッケージとそれらのパッケージの特定のバージョンをアップグレードできます。
環境変数を使用してこの問題の1行解決策を考えることはできませんが、以下のように、すべてのインストールコマンドの--upgrade
オプションを使用せずに環境変数を利用して多くのパッケージをアップグレードできます。
アップグレードの動作を制御するには、pip環境変数:export PIP_UPGRADE=True
を更新します。
アップグレードするパッケージを指定するには、次の目的で使用するインストールコマンドを実行します。pip install specifiedPackage
。彼らは、ユーザーのユーザー/グループによるカスタムのために追加された何かであるため、
pip
環境変数の包括的なリストはありません。すべてのpip
コマンド、または特定のコマンド(pip install
など)の設定ファイルのpip
を使用して、--upgrade
オプションの動作を制御できます。
ロング回答:
EDIT:使用要件指定子ファイル:あなたがインストールしたいパッケージを指定するために、単純な要件指定子テキストファイルを作成することができます。実際には、これらのファイル内に特定のバージョンのパッケージを指定することもできます(古いバージョンをインストールしたい場合、または特定のバージョンを避けたい場合)。要件ファイル、myRequirements.txt
は、(主にhereからコピーされた)次のようになります。
#
####### myRequirements.txt #######
#
###### Requirements without Version Specifiers ######
nose
nose-cov
beautifulsoup4
#
###### Requirements with Version Specifiers ######
# See https://www.python.org/dev/peps/pep-0440/#version-specifiers
docopt == 0.6.1 # Version Matching. Must be version 0.6.1
keyring >= 4.1.1 # Minimum version 4.1.1
coverage != 3.5 # Version Exclusion. Anything except version 3.5
Mopidy-Dirble ~= 1.1 # Compatible release. Same as >= 1.1, == 1.*
#
###### Refer to other requirements files ######
-r myOtherRequirements.txt
#
#
###### A particular file ######
./downloads/numpy-1.9.2-cp34-none-win32.whl
http://wxpython.org/Phoenix/snapshot-builds/wxPython_Phoenix-3.0.3.dev1820+49a8884-cp34-none-win_amd64.whl
#
###### Additional Requirements without Version Specifiers ######
# Same as 1st section, just here to show that you can put things in any order.
anotherPackage
yetAnotherPackage
#
あなたの設定ファイル検索:すべてのpip
コマンドラインオプションと環境変数が設定ファイルで設定されています。 pip
をインストールしたOSによっては、設定ファイルのパスが変更されます...同じ文書の中のあなたのファイルを探してください。here
設定ファイルの編集:組織はかなり簡単です。コマンドラインオプションを変更してすべてのpip
コマンドに影響を与えたい場合は、[global]
ステートメントの下に置きます。それ以外の場合は、1つのコマンドにのみ影響します(例:、pip install
)、[command-here]
ステートメント([install]
)の下に置きます。今、あなたはpip install
コマンドの有用性を上書きしてきた、あなたはすべてのパッケージを含む要件の指定ファイルを指定したこと:コマンドラインを使用して
[install]
upgrade = True
requirement = /path/to/myRequirements.txt
:だから、要約すると、このようになりますアップグレードしたいバージョン(そして、必要に応じてバージョンアップしたい場合)は、pip install
に電話するだけでpip install --upgrade -r myRequirements.txt
を呼び出したときと同じ効果が得られ、--upgrade
の動作を上書きしますオプションは-r
です。
pip
環境変数に関する注:間違った順序でドキュメントを読んでいると思います。構成ファイルで何かを追加/変更した後でのみ、環境変数を使用します。上記の例を使用して、export PIP_UPGRADE=True
のコマンドを実行してから、pip install somePackage
というコマンドを実行します。私が書いた2つのコマンドは、コマンドpip install --upgrade somePackage
と同じ効果があります。 --upgrade
オプションの動作を設定ファイル内に設定したものから変更する場合は、環境変数を使用する必要があります。
答えをくれてありがとう、それはpip env変数、設定オプション、およびコマンドライン引数がどのように機能するかを非常によく説明しています。それでも、--upgradeオプションはパラメータを取らず、PIP_UPGRADE = Trueを使用してアップグレードモードを有効にすることになっていますが、引数/パッケージはenv変数または内部設定を使用して指定することはできませんファイル。それは私の印象です。 – sorin
私は謝罪する、私の答えは間違っていた。 configファイルからインストールするパッケージを指定する方法があるかどうかを確認するために、いくつかの可能性をテストします。今のところ、 '--upgrade'オプションを使わなくても、いくつかのパッケージをアップグレードするために' PIP_UPGRADE'環境変数をどのように活用するかを正確に反映するように答えを更新しました。 –
環境変数ではありませんが、 'pip'にはパッケージを指定するために作成できる[要件指定ファイル](https://pip.pypa.io/en/latest/reference/pip_install/#example-requirements-file)があります(古いバージョンをインストールしたい場合は、インストールするパッケージのバージョンを指定することもできます)。要件ファイルmyRequirements.txtを作成したら、そのファイルで参照されているすべてのパッケージを 'pip install -r myRequirements.txt'でインストールすることができます。これで、 '[install]'ヘッダの下に 'requirement = myRequirements.txt'のような行を追加することができます。 –
ユーザごとに 'PIP _...'環境変数を作成することができます!したがって、 'PIP _...' env変数が何であるかを決めるので、リストはありません。 Linuxを使用している場合は、ここにある設定ファイルに環境変数を追加するだけです。 '$ HOME/.config/pip/pip.conf'。ですから、特別なオプション '--upgrade'は、あなたが興味のあるコマンド(' [install] ')の下に行を追加するだけです。 '[global]'の下でコールのアップグレードを行います。その行は 'upgrade = specify-your-option-choice-here'のように見えます。 –
このトピックについてはまだ問題がありますか?もしそうなら、あなたの問題点をさらに明確にしてください。問題の解決策を見つけた場合は、自分のクイックアンサーをコンパイルして受諾して、この問題を解決することをお勧めします。 –