提问者:小点点

pip成功安装程序包,但在命令行中找不到可执行文件


我正在开发MacOSX优胜美地10.10版。3.

我安装了python2。7和pip使用macport,如中所述http://johnlaudun.org/20150512-installing-and-setting-pip-with-macports/

我可以成功地安装软件包,并将它们导入到我的python环境和python脚本中。但是,在终端中找不到任何与可以从命令行调用的包相关联的可执行文件。

有人知道可能出了什么问题吗?(详情如下)

例如,当按照http://wiki.ros.org/jade/Installation/Source中的指示安装名为"rosdep"的包时

我可以运行:sudopip安装-U rosdep,它安装时没有错误,相应的文件位于/opt/local/Library/Frameworks/Python中。framework/Versions/2.7/lib/python2。7/站点包

但是,如果我尝试运行: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中可以完美地工作。


共3个答案

匿名用户

在带有默认python安装的macOS上,您需要添加/用户/

将此添加到您的.bash_profile:

export PATH="/Users/<you>/Library/Python/2.7/bin:$PATH"

这就是pip安装可执行文件的地方。

提示:对于非默认的python版本,其中python找到您的python安装的位置,并在上面的路径中替换该部分。(谢谢你的提示Sanket_Diwale)

匿名用户

检查你的$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。框架/版本/2.7/bin?这就是允许查找我的pip安装的东西的原因

现在,要了解Python的起源,请尝试这样做(用tox替换rosdep)。

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

打印出:

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

现在,将cd放到上面的lib目录的正上方。你看到bin目录了吗?你在那个箱子里看到rosdep了吗?如果是这样,请尝试将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

匿名用户

我知道这个问题问的是macOS,但这里有一个解决方案,Linux用户通过谷歌来到这里。

我有这个问题中描述的问题,通过pip安装了pdfx包。

然而,当我运行它时,什么都没有...

pip list | grep pdfx
pdfx (1.3.0)

然而:

which pdfx
pdfx not found

Linux上的问题是pip安装将脚本放入~/。local/bin这不是默认的Debian/Ubuntu$PATH

这里有一个GitHub问题要详细说明:https://github.com/pypa/pip/issues/3813

要修复,只需添加~/。本地/bin添加到$PATH,例如,将以下行添加到。bashrc文件:

export PATH="$HOME/.local/bin:$PATH"

在那之后,重新启动shell,事情就会如预期的那样工作。