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

Python 在OSX中调用pydoc-链接到底是如何工作的?,python,macos,python-2.7,Python,Macos,Python 2.7,调用pydoc文件返回,解释器错误。没有这样的文件或目录。 有一个类似于python-m pydoc文件的调用 我很想更好地理解链接的工作方式。例如,下面的操作是什么哪个链接到哪个 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配置也存在同样的问

调用
pydoc文件
返回,
解释器错误。没有这样的文件或目录。

有一个类似于python-m pydoc文件的调用

我很想更好地理解链接的工作方式。例如,下面的操作是什么哪个链接到哪个

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配置也存在同样的问题,它也存在于2.5和2.6版本中

非常感谢你的洞察力

根据下面的正确答案,问题是如何解决的:

  • 通过找到python框架后,从重新下载了该框架

  • 通过运行
    sudo mv pydoc2.7 pydoc2.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/
    将新下载的
    pydoc2.7
    复制到框架版本2.7 bin
显然,我在pydoc2.7下拥有的东西都不是正确的。非常感谢您解释链接是如何工作的

命令:

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

ln-s
创建指向
。在您的示例中,
ln-s
命令创建了一个文件
/usr/local/pydoc
,该文件链接到
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/pydoc
@HuuNguyen-这个注释应该是一个答案-您可能需要扩展一下。谢谢,@HuuNguyen。所以我猜我在
/urs/bin/
中看到的
pydoc
是一个链接,而pydoc根本不存在于
/System/Library…/2.7/bin
中。我会看看我是否能找到它,并复制或移动到那里,然后发布结果。这很有趣。在
/usr/bin
中是名为
pydoc
的链接。我删除了它并创建了一个到pydoc2.7的链接,但仍然得到了错误:
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/pydoc:/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7:错误的解释器:没有这样的文件或目录,并且在目录中,
/Library/Frameworks/Python.framework/Versions/2.7/bin
-rwxr-x 1 root wheel 123 2013年11月10日pydoc2.7 lrwxr-xr-x 1 root wheel 6 May 1 11:39 pydoc->pydoc2 lrwxr-x 1 root wheel 8 May 1 11:39 pydoc2->pydoc2.7
等待。。真奇怪。因此,在
2.7 bin
so
pydoc2.7'中删除了其他
pydoc
链接。在我使用上面的命令创建到
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/pydoc2.7`的链接之后,该链接似乎没有在字符串中包含
/System
。好的,别介意这个思路。显然,unix从
System
文件夹中启动链接字符串描述。现在出现错误:
/usr/bin/pydoc:/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7:解释器不正确:没有这样的文件或目录
,当pydoc链接如下所示:
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/pydoc2.7
并且当我cd到
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/
时,会出现
-rwxr-x 1根轮子日期pydoc2.7