Venvを作成するたびに、pipのアップグレードを求めるメッセージが表示されます。アップグレード用のコマンドを実行すると、別のvenvで再びポップアップします。これを永続的にするにはどうすればよいですか。
メッセージ:
You are using pip version 9.0.1, however version 18.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
更新:この重複する可能性のある答えを読むための推奨事項を受け取りました: virtualenv use upgraded system default pip
これは私の問題を解決しません。どうして?
私のpip3
はすでに最新のようです:
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip --version
pip 18.0 from c:\users\mkupfer\appdata\local\programs\python\python36-32\lib\sit
e-packages\pip (python 3.6)
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip3 --version
pip 18.0 from c:\users\mkupfer\appdata\local\programs\python\python36-32\lib\sit
e-packages\pip (python 3.6)
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip3 install --upgrade pip
Requirement already up-to-date: pip in c:\users\mkupfer\appdata\local\programs\p
ython\python36-32\lib\site-packages (18.0)
解決策:virtualenv
を使用して新しい仮想環境を作成することで、この問題を完全に修正できました。これがvenv
のバグかどうかわかりません。今後機能するパッケージのみを使用します。 @James Limに答えてくれてありがとう。
問題は、new仮想環境が古いバージョンのpipを使用しているようです。 pipは、virtualenvに含まれるソースtarfile(またはwheel)からsite-packages/virtualenv_support
ディレクトリにインストールされることに注意してください。
$ ls -l /path/to/site-packages/virtualenv_support
pip-9.1-py2.py3-none-any.whl
問題を回避する簡単な方法は、次のように新しいvirtualenvを作成するたびに必ずpipをアップグレードすることです:
$ virtualenv venv
$ venv/bin/pip install -U pip
または、virtualenvの最新バージョンを使用していることを確認してください。 リリースノート によれば、virtualenv==16
はpip==10
を使用しています。
$ pip install -U virtualenv
最後に、virtualenvはpip*.whl
でvirtualenv_support
を探すため、これも機能します。
$ mv /path/to/site-packages/virtualenv_support/pip*.whl{,bak}
$ pip wheel -w /path/to/site-packages/virtualenv_support/ 'pip==18'
すべての新しいvirtualenvは、virtualenv_support
にインストールしたバージョンのpipを使用します。しかし、これはハッキーだと感じています。
(virtualenv==16
で試行されました。これにより、pip == 18のすべての新しいvirtualenvが作成されます。)
私には複数のpython環境があり、そのうちの1つにはアップグレードされたpipがないように見えます。次の2つのオプションがあります。
Batファイルからpipを更新します。
call .\venv\Scripts\activate
py -m pip install --upgrade pip
call deactivate
または、VS Code統合ターミナルを使用している場合
& venv/Scripts/activate.ps1
py -m pip install --upgrade pip
pipをアップグレードすると古いバージョンがアンインストールされますが、古いバージョンが別の場所にある場合は、2つの異なるpipバージョンで終了することができません。ルートPYTHONPATHのインストールを確認します。また、PYTHONPATHはシステムパスと同じでない場合があります。
これが問題の解決策です。
ステップ1:シェルまたはjupyterノートブックでこのコマンドを実行すると、pypaからget-pip.pyが安全にダウンロードされます
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
ステップ2:コードの下で実行
python get-pip.py