両方とも前のリビジョン 前のリビジョン 次のリビジョン 前のリビジョン python:pip [2023/07/23 15:58] – [コマンド補完] ともやん python:pip [2024/03/28 01:58] (現在) – [仮想環境の pip を最新版に更新する場合] ともやん
</WRAP> |venv などの環境を複製する。 | </WRAP> |venv などの環境を複製する。 |
|<WRAP color_term> |<WRAP color_term>
<WRAP color_command><html><pre><b class=GRN>$</b> <b class=HIY>pip</b> freeze > requirements.txt <WRAP color_command><html><pre>
<b class=GRN>$</b> <b class=HIY>pip</b> uninstall <b class=HIK>-r</b> requirements.txt <b class=HIK>-y</b></pre></html></WRAP><WRAP color_command><html><pre><b class=GRN>$</b> <b class=HIY>pip</b> freeze | <b class=HIY>xargs</b> pip uninstall <b class=HIK>-y</b></pre></html></WRAP><WRAP color_command><html><pre><b class=GRN>$</b> <b class=HIY>pip</b> freeze | <b class=HIY>grep</b> <b class=HIK>-v</b> "^-e" | <b class=HIY>xargs</b> pip uninstall <b class=HIK>-y</b></pre></html></WRAP> <b class=GRN>$</b> <b class=HIY>pip</b> freeze > requirements.txt
<b class=GRN>$</b> <b class=HIY>pip</b> uninstall <b class=HIK>-r</b> requirements.txt <b class=HIK>-y</b>
</pre></html></WRAP>
<WRAP color_command><html><pre>
<b class=GRN>$</b> <b class=HIY>pip</b> freeze | <b class=HIY>xargs</b> pip uninstall <b class=HIK>-y</b>
</pre></html></WRAP>
<WRAP color_command><html><pre>
<b class=GRN>$</b> <b class=HIY>pip</b> freeze | <b class=HIY>grep</b> <b class=HIK>-v</b> "^-e" | <b class=HIY>xargs</b> pip uninstall <b class=HIK>-y</b>
<font color="#FF8700"><b>$</b></font> <font color="#26A269">pip</font> freeze <font color="#A347BA">--user</font> <font color="#12488B"><b>|</b></font> <font color="#26A269">grep</font> <font color="#A347BA">-v</font> <font color="#A2734C">"^-e"</font> <font color="#12488B"><b>|</b></font> <font color="#26A269">cut</font> <font color="#A347BA">-f</font> 1 <font color="#A347BA">-d</font> <font color="#A2734C">'='</font> <font color="#12488B"><b>|</b></font> <font color="#26A269">xargs</font> pip uninstall <font color="#A347BA">-y</font>
</pre></html></WRAP>
</WRAP> |全パッケージを確認なしでアンインストールする。 | </WRAP> |全パッケージを確認なしでアンインストールする。 |
|<WRAP color_term> |<WRAP color_term>
~/.cache/pip ~/.cache/pip
</code> </code>
<WRAP color_term>
<WRAP color_command><html><pre>
<span style="color:#FF8700"><b>$</b></span> <span style="color:#26A269">pip3</span> cache info
</pre></html></WRAP>
<WRAP color_result><html><pre>
Package index page cache location: /home/tomoyan/.cache/pip/http
Package index page cache size: 905.6 MB
Number of HTTP files: 976
Locally built wheels location: /home/tomoyan/.cache/pip/wheels
Locally built wheels size: 482 kB
Number of locally built wheels: 4
</pre></html></WRAP>
</WRAP>
==== Mac ==== ==== Mac ====
以下は pip パッケージを利用した HTTP URL のダウンローダーのコードである。\\ 以下は pip パッケージを利用した HTTP URL のダウンローダーのコードである。\\
この **download_http_url()** 関数を利用すれば、パッケージではない様々なファイルを pip と同様に進行状況を表示しながらダウンロードする事ができる。\\ この **download_http_url()** 関数を利用すれば、パッケージではない様々なファイルを pip と同様に進行状況を表示しながらダウンロードする事ができる。\\
\\ <WRAP color_term >
<WRAP prewrap 100% #mincode_long > <WRAP color_mincode_long> <code python pip_downloader.py>
<code python pip_downloader.py>
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
_download_url(resp, link, content_file, hashes, progress_bar) _download_url(resp, link, content_file, hashes, progress_bar)
return file_path, content_type return file_path, content_type
</code> </code></WRAP >
</WRAP> </WRAP>
pip_downloader.py の使い方。\\ pip_downloader.py の使い方。\\
<WRAP prewrap 100% > <WRAP color_term >
<file python main.py> <WRAP color_mincode> <file python main.py>
#!/usr/bin/env python3 #!/usr/bin/env python3
## -*- coding: utf-8 -*- ## -*- coding: utf-8 -*-
if __name__ == "__main__": if __name__ == "__main__":
main() main()
</file> </file></WRAP >
</WRAP> </WRAP>
main.py 実行する。\\ main.py 実行する。\\
<WRAP prewrap 100% > <WRAP color_term >
<code> <WRAP color_command> <code>
> python main.py > python main.py
</code></WRAP>
<WRAP color_result><code>
Downloading https://download.visualstudio.microsoft.com/download/pr/7b196ac4-65a9-4fde-b720-09b5339dbaba/78df39539625fa4e6c781c6a2aca7b4f/vs_community.exe (1.3MB) Downloading https://download.visualstudio.microsoft.com/download/pr/7b196ac4-65a9-4fde-b720-09b5339dbaba/78df39539625fa4e6c781c6a2aca7b4f/vs_community.exe (1.3MB)
Downloading from URL https://download.visualstudio.microsoft.com/download/pr/7b196ac4-65a9-4fde-b720-09b5339dbaba/78df39539625fa4e6c781c6a2aca7b4f/vs_community.exe Downloading from URL https://download.visualstudio.microsoft.com/download/pr/7b196ac4-65a9-4fde-b720-09b5339dbaba/78df39539625fa4e6c781c6a2aca7b4f/vs_community.exe
|████████████████████████████████| 1.4MB 3.3MB/s |████████████████████████████████| 1.4MB 3.3MB/s
</code> </code></WRAP >
</WRAP> </WRAP>
=== ディストリビューションの pip を最新版に更新する場合 === === ディストリビューションの pip を最新版に更新する場合 ===
<code > <WRAP color_term >
$ python3 -m pip -V <WRAP color_command><html><pre>
<font color="#FF8700"><b> $</b></font> <font color="#26A269"> python3</font> <font color="#A347BA"> -m</font> pip <font color="#A347BA"> -V</font>
</pre></html></WRAP>
<WRAP color_result><code>
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7) pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
</code> </code></WRAP>
</WRAP >
ディストリビューションの古い **python3-pip** パッケージだと不具合がある。\\ ディストリビューションの古い **python3-pip** パッケージだと不具合がある。\\
<code > <WRAP color_term >
$ python3 -m pip list -v <WRAP color_command><html><pre>
<font color="#FF8700"><b> $</b></font> <font color="#26A269"> python3</font> <font color="#A347BA"> -m</font> pip list <font color="#A347BA"> -v</font>
</pre></html></WRAP>
<WRAP color_result><code>
Package Version Location Installer Package Version Location Installer
---------- ------- ------------------------------ --------- ---------- ------- ------------------------------ ---------
pip 18.1 /usr/lib/python3/dist-packages pip 18.1 /usr/lib/python3/dist-packages
setuptools 40.8.0 /usr/lib/python3/dist-packages setuptools 40.8.0 /usr/lib/python3/dist-packages
</code> </code></WRAP>
</WRAP >
pip を最新版に更新する。\\ pip を最新版に更新する。\\
<WRAP prewrap 100% > <WRAP color_term >
<code > <WRAP color_command><html><pre >
$ python3 -m pip install -U pip <font color="#FF8700"><b> $</b></font> <font color="#26A269"> python3</font> <font color="#A347BA"> -m</font> pip install <font color="#A347BA"> -U</font> pip
</pre></html></WRAP>
<WRAP color_result><code>
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pip Collecting pip
Installing collected packages: pip Installing collected packages: pip
Successfully installed pip-21.1.1 Successfully installed pip-21.1.1
</code> </code></WRAP >
</WRAP> </WRAP>
**pip list -o** が正常に利用できることを確認する。\\ **pip list -o** が正常に利用できることを確認する。\\
<WRAP prewrap 100% > <WRAP color_term >
<code > <WRAP color_command><html><pre >
$ python3 -m pip list -o <font color="#FF8700"><b> $</b></font> <font color="#26A269"> python3</font> <font color="#A347BA"> -m</font> pip install <font color="#A347BA"> -U</font> pip
</pre></html></WRAP>
<WRAP color_result><code>
Package Version Latest Type Package Version Latest Type
---------- ------- ------ ----- ---------- ------- ------ -----
setuptools 40.8.0 56.2.0 wheel setuptools 40.8.0 56.2.0 wheel
</code> </code></WRAP>
</WRAP >
<code > <WRAP color_term >
$ python3 -m pip list -v <WRAP color_command><html><pre>
<font color="#FF8700"><b> $</b></font> <font color="#26A269"> python3</font> <font color="#A347BA"> -m</font> pip list <font color="#A347BA"> -v</font>
</pre></html></WRAP>
<WRAP color_result><code>
Package Version Location Installer Package Version Location Installer
---------- ------- ------------------------------------------------ --------- ---------- ------- ------------------------------------------------ ---------
pip 21.1.1 /home/tomoyan/.local/lib/python3.7/site-packages pip pip 21.1.1 /home/tomoyan/.local/lib/python3.7/site-packages pip
setuptools 40.8.0 /usr/lib/python3/dist-packages setuptools 40.8.0 /usr/lib/python3/dist-packages
</code> </code></WRAP >
</WRAP> </WRAP>
=== 仮想環境の pip を最新版に更新する場合 === === 仮想環境の pip を最新版に更新する場合 ===
<code > <WRAP color_term>
(py3_venv) $ pip -V <WRAP color_command><html><pre >
(py3_venv) <font color="#FF8700"><b> $</b></font> <font color="#26A269"> pip</font> <font color="#A347BA"> -V</font>
</pre></html></WRAP>
<WRAP color_result><html><pre>
pip 18.1 from /home/tomoyan/py3_venv/lib/python3.7/site-packages/pip (python 3.7) pip 18.1 from /home/tomoyan/py3_venv/lib/python3.7/site-packages/pip (python 3.7)
</code > </pre></html></WRAP>
</WRAP >
pip を最新版に更新する。\\ pip を最新版に更新する。\\
<WRAP prewrap 100% > <WRAP color_term >
<code > <WRAP color_command><html><pre >
(py3_venv) $ python -m pip install -U pip (py3_venv) <font color="#FF8700"><b> $</b></font> <font color="#26A269"> python</font> <font color="#A347BA"> -m</font> pip install <font color="#A347BA"> -U</font> pip
</pre></html></WRAP>
<WRAP color_result><html><pre>
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pip Collecting pip
Successfully uninstalled pip-18.1 Successfully uninstalled pip-18.1
Successfully installed pip-21.1.1 Successfully installed pip-21.1.1
</code > </pre></html></WRAP >
</WRAP> </WRAP>
更新後のバージョン確認。\\ 更新後のバージョン確認。\\
<code > <WRAP color_term>
(py3_venv) $ pip -V <WRAP color_command><html><pre >
(py3_venv) <font color="#FF8700"><b> $</b></font> <font color="#26A269"> pip</font> <font color="#A347BA"> -V</font>
</pre></html></WRAP>
<WRAP color_result><html><pre>
pip 21.1.1 from /home/tomoyan/py3_venv/lib/python3.7/site-packages/pip (python 3.7) pip 21.1.1 from /home/tomoyan/py3_venv/lib/python3.7/site-packages/pip (python 3.7)
</code > </pre></html></WRAP>
</WRAP >
**pip list -o** が正常に利用できることを確認する。\\ **pip list -o** が正常に利用できることを確認する。\\
<code > <WRAP color_term >
(py3_venv) $ pip list -o<WRAP color_command><html><pre>
<font color="#FF8700"><b> $</b></font> <font color="#26A269"> pip</font> list <font color="#A347BA"> -o</font>
</pre></html></WRAP>
<WRAP color_result><html><pre>
Package Version Latest Type Package Version Latest Type
---------- -------- --------- ----- ---------- -------- --------- -----
supervisor 4.2.1 4.2.2 wheel supervisor 4.2.1 4.2.2 wheel
youtube-dl 2021.1.8 2021.4.26 wheel youtube-dl 2021.1.8 2021.4.26 wheel
</code > </pre ></html ></WRAP >
=== システムの古い pip ラッパー📯が新しい pip モジュールを実行してしまう場合 ===
<WRAP prewrap 100% >
<code>
$ pip3 -V
</code >
</WRAP> </WRAP>
<WRAP prewrap 100% #result >
<code > ==== システムの古い pip ラッパー📯が新しい pip モジュールを実行してしまう場合🤔 ====
<WRAP color_term>
<WRAP color_command><html><pre>
<font color=" #FF8700"><b>$</b></font> <font color="#26A269">pip</font> <font color="#A347BA">-V</font >
</pre></html></WRAP>
<WRAP color_result><html><pre >
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with ' -m pip' instead of running pip directly. To avoid this problem you can invoke Python with ' -m pip' instead of running pip directly.
pip 21 .1.1 from /home/pi /.local/lib/python3.7 /site-packages/pip (python 3.7 ) pip 24 .0 from /home/tomoyan /.local/lib/python3.12 /site-packages/pip (python 3.12 )
</code > </pre></html></WRAP >
<code > <WRAP color_result><html><pre >
警告: pip は古いスクリプトラッパーによって呼び出されています。これは、pip の将来のバージョンでは失敗します。 警告: pip は古いスクリプト ラッパーによって呼び出されています。これは、pip の将来のバージョンでは失敗します。
根本的な問題を修正するためのアドバイスについては、https://github.com/pypa/pip/issues/5599 を参照してください。 根本的な問題を修正するためのアドバイスについては、https://github.com/pypa/pip/issues/5599 を参照してください。
この問題を回避するには、pipを直接実行する代わりに、「-m pip」を使用して Python を呼び出すことができます。 この問題を回避するには、pip を直接実行する代わりに、「-m pip」を使用して Python を呼び出すことができます。
/home/pi /.local/lib/python3.7 /site-packages/pip からの pip21 .1.1 (python 3.7 ) /home/tomoyan /.local/lib/python3.12 /site-packages/pip からの pip 24 .0 (Python 3.12 )
</code > </pre></html></WRAP >
</WRAP> </WRAP>
[[git>pypa/pip/issues/5599|ImportError in system pip wrappers after an upgrade · Issue #5599 · pypa/pip · GitHub]]\\ [[git>pypa/pip/issues/5599|ImportError in system pip wrappers after an upgrade · Issue #5599 · pypa/pip · GitHub]]\\
回避方法は pip のモジュールを直接実行する。\\ 回避方法その1: pip のモジュールを直接実行する。\\
<WRAP prewrap 100% > <WRAP color_term >
<code > <WRAP color_command><html><pre >
$ python3 -m pip -V <font color="#FF8700"><b> $</b></font> <font color="#26A269">python</font> <font color="#A347BA">-m</font> pip <font color="#A347BA">-V</font>
</code > </pre></html></WRAP>
<WRAP color_result><html><pre>
pip 24.0 from /home/tomoyan/.local/lib/ python3.12/site-packages/pip (python 3.12)
</pre></html></WRAP>
</WRAP>
解決の糸口😅\\
<WRAP color_term>
<WRAP color_command><html><pre>
<font color="#FF8700"><b>$</b></font> <font color="#26A269">which</font> pip <font color="#12488B"><b>&&</b></font> <font color="#26A269">python</font> <font color="#A347BA">-s</font> <font color="#A347BA"> -m</font> pip <font color="#A347BA"> -V</font> <font color="#12488B"><b>&&</b></font> <font color="#26A269">python</font> <font color="#A347BA">-m</font> pip <font color="#A347BA">-V</font> <font color="#12488B"><b>&&</b></font> <font color="#26A269">echo</font> <font color="#A2734C">'---- ✂ ----'</font> <font color="#12488B"><b>&&</b></font> <font color="#26A269">echo</font> $PATH <font color="#12488B"><b>|</b></font> <font color="#26A269">grep</font> :
</pre></html></WRAP>
<WRAP color_result><html><pre>
/usr/local/bin/pip
pip 23.2.1 from /usr/lib/python3.12/site-packages/pip (python 3.12)
pip 24.0 from /home/tomoyan/.local/lib/python3.12/site-packages/pip (python 3.12)
---- ✂ ----
/home/tomoyan/miniforge3/condabin<font color="#C01C28"><b>:</b></font>/home/tomoyan/micromamba/bin<font color="#C01C28"><b>:</b></font>/home/tomoyan/.cargo/bin<font color="#C01C28"><b>:</b></font>/home/tomoyan/.anyenv/envs/nodenv/shims<font color="#C01C28"><b>:</b></font>/home/tomoyan/.anyenv/envs/nodenv/bin<font color="#C01C28"><b>:</b></font>/home/tomoyan/.anyenv/bin<font color="#C01C28"><b>:</b></font>/usr/local/bin<font color="#C01C28"><b>:</b></font>/usr/bin<font color="#C01C28"><b>:</b></font>/usr/local/sbin<font color="#C01C28"><b>:</b></font>/usr/sbin<font color="#C01C28"><b>:</b></font>/home/tomoyan/.local/bin<font color="#C01C28"><b>:</b></font>/home/tomoyan/.local/bin
</pre></html></WRAP >
</WRAP> </WRAP>
===== 参考文献 ===== ===== 参考文献 =====
[[https://roman.pt/posts/optimize-pip-install-with-wheels/|Optimize pip install with wheels - Roman Imankulov]] [[gtr>https://roman.pt/posts/optimize-pip-install-with-wheels/|翻訳]]\\
[[https://pip.pypa.io/en/stable/|Home - pip documentation v21.1.1]]\\ [[https://pip.pypa.io/en/stable/|Home - pip documentation v21.1.1]]\\
[[http://d.hatena.ne.jp/rudi/20110107/1294409385|pipの使い方 - そこはかとなく書くよ。]]\\ [[http://d.hatena.ne.jp/rudi/20110107/1294409385|pipの使い方 - そこはかとなく書くよ。]]\\
[[so>questions/4888027/python-and-pip-list-all-versions-of-a-package-thats-available|Python and pip, list all versions of a package that's available?]]\\ [[so>questions/4888027/python-and-pip-list-all-versions-of-a-package-thats-available|Python and pip, list all versions of a package that's available?]]\\
[[rtd>kurozumi.github.io/pip/user_guide.html|ユーザーガイド — pip 9.1.0.dev0 ドキュメント]]\\ [[rtd>kurozumi.github.io/pip/user_guide.html|ユーザーガイド — pip 9.1.0.dev0 ドキュメント]]\\
[[https://packaging.python.org/en/latest/tutorials/installing-packages/|Installing Packages — Python Packaging User Guide]] [[gtr>https://packaging.python.org/en/latest/tutorials/installing-packages/|翻訳]]\\