我正在使用 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 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"
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
检查你的 $PATH
tox有命令行模式:
tox
audrey:tests jluc$ pip list | grep tox tox (2.3.1)
它在哪里?
(编辑:2.7这里的东西无关紧要,任何 sub3.x和 pip 的行为方式几乎相同)
2.7
3.x
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。
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。
lib
bin
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