1. ホーム
  2. python

[解決済み] pipでパッケージのインストールは成功したが、コマンドラインから実行可能なファイルが見つからない

2022-04-20 23:40:48

質問

Mac OS X Yosemite(バージョン10.10.3)で作業しています。

にあるように、python2.7とpipをmacportでインストールしました。 http://johnlaudun.org/20150512-installing-and-setting-pip-with-macports/

パッケージのインストールに成功し、Python環境とPythonスクリプト内でインポートすることができます。しかし、ターミナルでコマンドラインから呼び出すことができるパッケージに関連する実行ファイルが見当たりません。

何が問題なのか、どなたかご存知ですか? (詳細は下記をご覧ください)

例えば、以下の手順で "rosdep" というパッケージをインストールした場合。 http://wiki.ros.org/jade/Installation/Source

実行できる sudo pip install -U rosdep で、これはエラーなしでインストールされ、対応するファイルは /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

しかし、: sudo rosdep init , というエラーが表示されます。 "sudo: rosdep: command not found"

これはパッケージ固有のエラーではありません。私のコンピュータでpipを使用してインストールされたすべてのパッケージでこれが表示されます。さらに

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

を私の $PATH . しかし、パッケージはpythonの中から完全に動作するにもかかわらず、実行ファイルがコマンドライン上で見付からないのです。

解決方法は?

PATHを確認する

tox にはコマンドラインモードがあります。

audrey:tests jluc$ pip list | grep tox
tox (2.3.1)

はどこですか?

(編集 2.7 のものはここではあまり重要ではありません。 3.x とpipの挙動はほとんど同じです)

audrey:tests jluc$ which tox
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/tox

そして、私の$PATHには何があるのでしょうか?

audrey:tests jluc$ echo $PATH
/opt/chefdk/bin:/opt/chefdk/embedded/bin:/opt/local/bin:..../opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin...

注目すべきは /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin ? これは、pipでインストールしたものを見つけるためのものです。

さて、Pythonからどこに何があるのかを見るには、次のようにしてみてください。 rosdep に対して tox ).

$python
>>> import tox
>>> tox.__file__

をプリントアウトします。

'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tox/__init__.pyc'

今すぐ cd のすぐ上のディレクトリに移動します。 lib をクリックしてください。 が見えますか? ビン ディレクトリを作成しますか? また rosdep をそのbinの中に入れてください。 もしそうなら bin を$PATHに追加してください。

audrey:2.7 jluc$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7
audrey:2.7 jluc$ ls -1

を出力します。

Headers
Python
Resources
bin
include
lib
man
share