両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン |
python:pipx [2024/03/09 12:06] – [JupyterLab3 基本セット] ともやん | python:pipx [2024/03/28 03:30] (現在) – [PATH 環境変数の設定] ともやん |
---|
| |
===== インストール ===== | ===== インストール ===== |
公式: [[https://pypa.github.io/pipx/installation/#install-pipx|Install pipx - Installation - pipx]] [[gtr>https://pypa.github.io/pipx/installation/#install-pipx|翻訳]]\\ | 公式: [[https://pipx.pypa.io/stable/#install-pipx|Install pipx - Installation - pipx]] [[gtr>https://pipx.pypa.io/stable/#install-pipx|翻訳]]\\ |
| |
Fedora\\ | Fedora\\ |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>python3</b> <b class=HIK>-m</b> pip install <b class=HIK>--user</b> pipx | <font color="#FF8700"><b>$</b></font> <font color="#26A269">python3</font> <font color="#A347BA">-m</font> pip install <font color="#A347BA">--user</font> pipx |
</pre></html></WRAP> | </pre></html></WRAP> |
<WRAP color_result><html><pre> | <WRAP color_result><html><pre> |
| |
==== PATH 環境変数の設定 ==== | ==== PATH 環境変数の設定 ==== |
| <WRAP round important 90% minfont_12> |
| <html><code>pipx ensurepath</code></html> を実行すると <html><code>$PATH:~/.local/bin</code></html> が設定されて <html><code>/usr/bin</code></html> が優先になるので注意が必要である🤔\\ |
| <WRAP color_term> |
| <WRAP color_command><html><pre> |
| <font color="#FF8700"><b>$</b></font> <font color="#26A269">grep</font> <font color="#A347BA">-d</font> skip <font color="#A347BA">-A</font> 1 <font color="#A2734C">"Created by"</font> ~/.<font color="#12488B"><b>*</b></font> <font color="#A347BA">--exclude=</font><font color="#A2734C">'*history'</font> |
| </pre></html></WRAP> |
| <WRAP color_result><html><pre> |
| <font color="#A347BA">/home/tomoyan/.commonshrc</font><font color="#2AA1B3">:</font># <font color="#C01C28"><b>Created by</b></font> `pipx` on 2024-02-02 08:14:31 |
| <font color="#A347BA">/home/tomoyan/.commonshrc</font><font color="#2AA1B3">-</font>export PATH="$PATH:/home/tomoyan/.local/bin" |
| <font color="#2AA1B3">--</font> |
| <font color="#A347BA">/home/tomoyan/.zprofile</font><font color="#2AA1B3">:</font># <font color="#C01C28"><b>Created by</b></font> `pipx` on 2024-02-02 08:14:31 |
| <font color="#A347BA">/home/tomoyan/.zprofile</font><font color="#2AA1B3">-</font>export PATH="$PATH:/home/tomoyan/.local/bin" |
| </pre></html></WRAP> |
| </WRAP> |
| |
| pipx 1.4.3 では <html><code>userpath.append</code></html> で pipx の location_str (~/.local/bin) を追加する実装\\ |
| <WRAP color_term> |
| <WRAP color_command><html><pre> |
| <font color="#FF8700"><b>$</b></font> <font color="#26A269">curl</font> <font color="#A347BA">-L</font> https://raw.githubusercontent.com/pypa/pipx/1.4.3/src/pipx/commands/ensure_path.py <font color="#12488B"><b>2></b></font><u style="text-decoration-style:single">/dev/null</u> <font color="#12488B"><b>|</b></font> <font color="#26A269">bat</font> <font color="#A347BA">-n</font> <font color="#A347BA">-l</font> py <font color="#A347BA">-r</font> 54:64 |
| </pre></html></WRAP> |
| <WRAP color_result><html><pre> |
| <font color="#444444"> 54</font> <font color="#F92672">def</font><font color="#F8F8F2"> </font><font color="#A6E22E">ensure_path</font><font color="#F8F8F2">(</font><font color="#FD971F">location</font><font color="#F8F8F2">: Path, </font><font color="#F92672">*</font><font color="#F8F8F2">, </font><font color="#FD971F">force</font><font color="#F8F8F2">: </font><font color="#A6E22E">bool</font><font color="#F8F8F2">) -> Tuple[</font><font color="#A6E22E">bool</font><font color="#F8F8F2">, </font><font color="#A6E22E">bool</font><font color="#F8F8F2">]:</font> |
| <font color="#444444"> 55</font> <font color="#F8F8F2"> </font><font color="#75715E">"""Ensure location is in user's PATH or add it to PATH.</font> |
| <font color="#444444"> 56</font> <font color="#75715E"> Returns True if location was added to PATH</font> |
| <font color="#444444"> 57</font> <font color="#75715E"> """</font> |
| <font color="#444444"> 58</font> <font color="#F8F8F2"> location_str </font><font color="#F92672">=</font><font color="#F8F8F2"> </font><font color="#A6E22E">str</font><font color="#F8F8F2">(location)</font> |
| <font color="#444444"> 59</font> <font color="#F8F8F2"> path_added </font><font color="#F92672">=</font><font color="#F8F8F2"> </font><font color="#BE84FF">False</font> |
| <font color="#444444"> 60</font> <font color="#F8F8F2"> need_shell_restart </font><font color="#F92672">=</font><font color="#F8F8F2"> userpath.need_shell_restart(location_str)</font> |
| <font color="#444444"> 61</font> <font color="#F8F8F2"> in_current_path </font><font color="#F92672">=</font><font color="#F8F8F2"> userpath.in_current_path(location_str)</font> |
| <font color="#444444"> 62</font> |
| <font color="#444444"> 63</font> <font color="#F8F8F2"> </font><font color="#F92672">if</font><font color="#F8F8F2"> force </font><font color="#F92672">or</font><font color="#F8F8F2"> (</font><font color="#F92672">not</font><font color="#F8F8F2"> in_current_path </font><font color="#F92672">and</font><font color="#F8F8F2"> </font><font color="#F92672">not</font><font color="#F8F8F2"> need_shell_restart):</font> |
| <font color="#444444"> 64</font> <font color="#F8F8F2"> path_added </font><font color="#F92672">=</font><font color="#F8F8F2"> userpath.append(location_str, </font><font color="#E6DB74">"pipx"</font><font color="#F8F8F2">)</font> |
| </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">echo</font> <font color="#A2734C">'---- ✂ ----'</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> : <font color="#12488B"><b>&&</b></font> <font color="#26A269">echo</font> <font color="#A2734C">'---- ✂ ----'</font> <font color="#12488B"><b>&&</b></font> <font color="#26A269">python</font> <font color="#A347BA">-m</font> site |
| </pre></html></WRAP> |
| <WRAP color_result><html><pre> |
| /usr/bin/pip |
| pip 23.2.1 from /usr/lib/python3.12/site-packages/pip (python 3.12) |
| ---- ✂ ---- |
| pip 23.2.1 from /usr/lib/python3.12/site-packages/pip (python 3.12) |
| ---- ✂ ---- |
| /home/tomoyan/miniforge3/condabin<font color="#C01C28"><b>:</b></font>/home/tomoyan/.deno/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>/home/tomoyan/.cargo/bin<font color="#C01C28"><b>:</b></font>/usr/local/bin<font color="#C01C28"><b>:</b></font>/usr/local/sbin<font color="#C01C28"><b>:</b></font>/usr/bin<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 |
| ---- ✂ ---- |
| sys.path = [ |
| '/home/tomoyan', |
| '/usr/lib64/python312.zip', |
| '/usr/lib64/python3.12', |
| '/usr/lib64/python3.12/lib-dynload', |
| '/home/tomoyan/.local/lib/python3.12/site-packages', |
| '/usr/lib64/python3.12/site-packages', |
| '/usr/lib/python3.12/site-packages', |
| ] |
| USER_BASE: '/home/tomoyan/.local' (exists) |
| USER_SITE: '/home/tomoyan/.local/lib/python3.12/site-packages' (exists) |
| ENABLE_USER_SITE: True |
| </pre></html></WRAP> |
| </WRAP> |
| |
| <WRAP color_term> |
| <WRAP color_command><html><pre> |
| <font color="#FF8700"><b>$</b></font> <font color="#26A269">pip</font> install <font color="#A347BA">--upgrade</font> pip |
| </pre></html></WRAP> |
| <WRAP color_result><html><pre> |
| Defaulting to user installation because normal site-packages is not writeable |
| Requirement already satisfied: pip in /usr/lib/python3.12/site-packages (23.2.1) |
| Collecting pip |
| Obtaining dependency information for pip from https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl.metadata |
| Downloading pip-24.0-py3-none-any.whl.metadata (3.6 kB) |
| Downloading pip-24.0-py3-none-any.whl (2.1 MB) |
| <font color="#729C1F">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</font> <font color="#26A269">2.1/2.1 MB</font> <font color="#C01C28">302.4 kB/s</font> eta <font color="#2AA1B3">0:00:00</font> |
| Installing collected packages: pip |
| Successfully installed pip-24.0 |
| </pre></html></WRAP> |
| </WRAP> |
| |
| </WRAP> |
| |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>python3</b> <b class=HIK>-m</b> pipx ensurepath | <font color="#FF8700"><b>$</b></font> <font color="#26A269">python3</font> <font color="#A347BA">-m</font> pipx ensurepath |
</pre></html></WRAP> | </pre></html></WRAP> |
<WRAP group> | <WRAP group> |
| |
<WRAP column 100%> | <WRAP column 100%> |
<WRAP left round tip 80%> | <WRAP left round tip 80% minfont_12> |
| |
zsh の場合は <html><code>~/.zprofile</code></html> に <html><code>PATH</code></html> の設定が追加されます。\\ | zsh の場合は <html><code>~/.zprofile</code></html> に <html><code>PATH</code></html> の設定が追加されます。\\ |
| |
<WRAP column 100%> | <WRAP column 100%> |
<WRAP left round tip 80%> | <WRAP left round tip 80% minfont_12> |
| |
<WRAP color_term> | <WRAP color_term> |