Closed7
macOSのpip installってどこにインストールされるの?
https://zenn.dev/asataka/scraps/5c1f9b723d48df で pip install bashplotlib したらPATHが通らなかったので。
asa-taka@tailmoon-2 ~ % which python3
/Users/asa-taka/.anyenv/envs/pyenv/shims/python3
asa-taka@tailmoon-2 ~ % which pip3
/Users/asa-taka/.anyenv/envs/pyenv/shims/pip3
asa-taka@tailmoon-2 ~ % pip install bashplotlib
Requirement already satisfied: bashplotlib in /usr/local/lib/python3.9/site-packages (0.6.5)
PATHの中身。
asa-taka@tailmoon-2 ~ % echo $PATH | tr : \\n
/Users/asa-taka/.cabal/bin
/Users/asa-taka/.ghcup/bin
/Users/asa-taka/bin
/Users/asa-taka/.cargo/bin
/usr/local/opt
~/src/github.com/flutter/flutter/bin
/Users/asa-taka/.anyenv/envs/pyenv/shims
/Users/asa-taka/.anyenv/envs/pyenv/bin
/Users/asa-taka/.anyenv/bin
/Users/asa-taka/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/Applications/VMware Fusion.app/Contents/Public
/opt/X11/bin
/Library/Apple/usr/bin
/Library/Frameworks/Mono.framework/Versions/Current/Commands
/Applications/Wireshark.app/Contents/MacOS
/Users/asa-taka/.cargo/bin
~/.pub-cache/bin
asa-taka@tailmoon-2 ~ % python2.7 -m site --user-base
/Users/asa-taka/Library/Python/2.7
asa-taka@tailmoon-2 ~ % python2.7 -m site --user-site
/Users/asa-taka/Library/Python/2.7/lib/python/site-packages
asa-taka@tailmoon-2 ~ % python -m site --user-base
/Users/asa-taka/Library/Python/3.9
asa-taka@tailmoon-2 ~ % python -m site --user-site
/Users/asa-taka/Library/Python/3.9/lib/python/site-packages
pip install --user
で入れたらご丁寧にWARNINGが出た。以前見逃していただけかもしれない。
asa-taka@tailmoon ~ % pip install --user bashplotlib
Collecting bashplotlib
Using cached bashplotlib-0.6.5-py3-none-any.whl
Installing collected packages: bashplotlib
WARNING: The scripts hist and scatter are installed in '/Users/asa-taka/Library/Python/3.9/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed bashplotlib-0.6.5
でも pip install
しなおしたら出ない。
asa-taka@tailmoon ~ % pip install bashplotlib
Collecting bashplotlib
Using cached bashplotlib-0.6.5-py3-none-any.whl
Installing collected packages: bashplotlib
Successfully installed bashplotlib-0.6.5
https://github.com/glamp/bashplotlib これ、bashplotlib という名前ではなく複数の実行ファイルが含まれていただけだった。普通に /usr/local/bin にインストールされていた。
asa-taka@tailmoon ~ % which scatter
/usr/local/bin/scatter
ちなみにどんな実行ファイルが含まれるかという情報は pip show -v
で表示される。
asa-taka@tailmoon ~ % pip show -v bashplotlib
Name: bashplotlib
Version: 0.6.5
Summary: plotting in the terminal
Home-page: https://github.com/glamp/bashplotlib
Author: Greg Lamp
Author-email: lamp.greg@gmail.com
License: BSD
Location: /usr/local/lib/python3.9/site-packages
Requires:
Required-by:
Metadata-Version: 2.1
Installer: pip
Classifiers:
Environment :: Console
Intended Audience :: End Users/Desktop
License :: OSI Approved :: BSD License
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Entry-points:
[console_scripts]
hist = bashplotlib.histogram:main
scatter = bashplotlib.scatterplot:main
Entry-points の console_scripts に hist と scatter と表示されている。
ちょっと考えてみたいポイント
-
pip install --user
を使ったほうがいいのか -
/usr/local/bin
などシステムグローバルな場所にインストールするのに pyenv の pip を使っていいのか- どのバージョンの python で実行するかぐちゃぐちゃになりそう
-
pip install --user
で入れるとバージョンごとのディレクトリに分けてインストールされるので
/usr/local/bin に入れられたスクリプトもちゃんとshebangでバージョンが指定されていた。
# pip install bashplotlib して入った実行スクリプト
asa-taka@tailmoon ~ % which scatter
/usr/local/bin/scatter
asa-taka@tailmoon ~ % head -n 1 $(which scatter)
#!/usr/local/opt/python@3.9/bin/python3.9
3.9 などのマイナーバージョン別に管理されている。
このスクラップは2021/05/05にクローズされました