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

发布于 2021-01-29 17:56:31

我正在使用Mac OS X Yosemite版本10.10.3。

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

我可以成功安装软件包并将其导入我的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安装的任何软件包,我都会得到此信息。我什至尝试添加

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

对我的$PATH。但是,即使这些软件包在python内完美运行,也无法在命令行上找到可执行文件。

关注者
0
被浏览
134
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    检查您的$ PATH

    tox 具有命令行模式:

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

    它在哪里?

    (编辑:这里的2.7内容没什么大不了的,无论是sub3.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
    吗?这就是找到我点子安装的东西的原因

    现在,看到那里的东西都是从Python中,尝试这样做(替代rosdeptox)。

    $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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看