首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >pip已成功安装软件包,但从命令行找不到可执行文件

pip已成功安装软件包,但从命令行找不到可执行文件
EN

Stack Overflow用户
提问于 2016-03-10 01:38:44
回答 11查看 171.9K关注 0票数 167

我正在使用mac,版本10.10.3。

我使用macport安装了python2.7和pip,就像在http://johnlaudun.org/20150512-installing-and-setting-pip-with-macports/中一样。

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

有人知道哪里可能出了问题吗?(更多细节见下文)

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

我可以运行: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安装的任何包都会出现这个问题。我甚至试着添加

代码语言:javascript
复制
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

到我的$PATH。但是在命令行上找不到可执行文件,即使这些包在python中可以很好地工作。

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2016-03-10 01:55:00

检查你的$PATH

tox有一个命令行模式:

代码语言:javascript
复制
audrey:tests jluc$ pip list | grep tox
tox (2.3.1)

它在哪里?

(编辑:2.7的东西在这里并不重要,任何3.x中的sub和pip的行为几乎相同)

代码语言:javascript
复制
audrey:tests jluc$ which tox
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/tox

我的$PATH里有什么?

代码语言:javascript
复制
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)。

代码语言:javascript
复制
$python
>>> import tox
>>> tox.__file__

这会打印出来:

代码语言:javascript
复制
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tox/__init__.pyc'

现在,将cd到上述lib上的目录。您看到bin目录了吗?你看到rosdep在那个箱子里了吗?如果是这样,请尝试向您的$PATH添加bin

代码语言:javascript
复制
audrey:2.7 jluc$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7
audrey:2.7 jluc$ ls -1

输出:

代码语言:javascript
复制
Headers
Python
Resources
bin
include
lib
man
share
票数 66
EN

Stack Overflow用户

发布于 2017-04-12 19:58:25

在默认安装了python的macOS上,需要将/Users/<you>/Library/Python/2.7/bin/添加到$PATH中。

将以下内容添加到您的.bash_profile:

代码语言:javascript
复制
export PATH="/Users/<you>/Library/Python/2.7/bin:$PATH"

这就是pip安装可执行文件的位置。

提示:对于非默认python版本,请使用which python找到python安装的位置,并替换上面路径中的部分内容。(感谢Sanket_Diwale的提示)

票数 72
EN

Stack Overflow用户

发布于 2019-12-21 21:51:26

我知道这个问题是关于macOS的,但这里有一个针对通过谷歌访问的Linux用户的解决方案。

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

但是当我运行它的时候,什么都没有...

代码语言:javascript
复制
pip list | grep pdfx
pdfx (1.3.0)

然而:

代码语言:javascript
复制
which pdfx
pdfx not found

Linux上的问题是pip install ...会将脚本放到~/.local/bin中,而这不是在默认的Debian/Ubuntu $PATH上。

下面是一个更详细的GitHub问题:https://github.com/pypa/pip/issues/3813

要修复此问题,只需将~/.local/bin添加到您的$PATH,例如,通过将以下行添加到.bashrc文件:

代码语言:javascript
复制
export PATH="$HOME/.local/bin:$PATH"

在此之后,重新启动shell,事情应该会像预期的那样工作。

票数 61
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35898734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档