正在调用pydoc file
,bad interpreter. no such file or directory.
有一个workaround,可以像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
sudo mv pydoc2.7 pydoc 2.7-orig
的备份副本
pydoc2.7
将新下载的sudo cp /Users/mikekilmer/Downloads/Python.framework/Versions/2.7/bin/pydoc2.7 /System/Library/Frameworks/Python.framework/Versions/2.7/bin/
复制到框架版本2.7 bin。 显然,我在pydoc2.7下所拥有的不是正确的事情。非常感谢您解释链接的工作原理!
答案 0 :(得分: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
作为脚本运行。