在OSX中调用pydoc - 链接是如何工作的?

1 投票
1 回答
1660 浏览
提问于 2025-04-18 06:44

调用 pydoc file 时出现了 bad interpreter. no such file or directory. 的错误。

有一个解决办法是用 python -m pydoc file 来调用它。

我想更好地理解链接是怎么工作的。例如,下面这个是什么作用?

sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/bin/pydoc /usr/bin/pydoc
- 哪个链接到哪个?

我正在使用2.7版本,pydoc在 /usr/bin/ 目录下,pydoc2.5和pydoc2.6也在那儿。python-config也有同样的问题,它在2.5和2.6版本中也存在。

非常感谢任何帮助。

这是根据下面的正确答案解决问题的方法:

显然我之前的 pydoc2.7 不是正确的东西。非常感谢你解释链接是怎么工作的!

1 个回答

1

这个命令:

sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/bin/pydoc /usr/bin/pydoc

创建了一个叫做 /usr/bin/pydoc 的链接,指向:

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/pydoc

在我的系统上,这个文件并不存在。相反,我有:

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/pydoc2.7

注意最后的 2.7

所以你创建了一个指向不存在文件的链接,这样在命令行上就会出现错误提示。解决这个问题很简单,先删除 /usr/bin/pydoc(首先确保它真的是一个链接,可以通过输入 ls -l /usr/bin 来查看,找找 pydoc -- 如果它的权限旁边有个 l,那说明它是个链接)。然后,输入:

sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/bin/pydoc2.7 /usr/bin/pydoc

这样就会创建一个指向正确文件的链接,现在你应该可以把 pydoc 当作脚本来运行了。

撰写回答