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

发布于 2022-07-28 22:56:30

我正在使用 Mac OS X Yosemite 版本 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 安装的任何软件包,我都会得到这个。我什至尝试添加

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

到我的$PATH. 但是在命令行上找不到可执行文件,即使这些包在 python 中完美运行。

关注者
0
被浏览
11
1 个回答
  • 面试哥
    面试哥 2022-07-28
    为面试而生,有面试问题,就找面试哥。

    检查你的 $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
    吗?这就是允许找到我的 pip 安装的东西的原因

    现在,要查看 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万份考试真题开放下载啦

去下载看看