【问题标题】:spaCy 3.0, installed files are different from the files in github repospaCy 3.0,安装的文件与 github repo 中的文件不同
【发布时间】:2021-06-04 19:23:03
【问题描述】:

我在我的 ubuntu 上安装了 spaCy 3.0。我使用 ctrl+B 在 sentencizer.py 文件中查找类“sentencizer”的定义:

class Sentencizer(__spacy_pipeline_pipe.Pipe):
    """
    Segment the Doc into sentences using a rule-based strategy.
    
        DOCS: https://spacy.io/api/sentencizer
    """
    def from_bytes(self, bytes_data, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        Sentencizer.from_bytes(self, bytes_data, *, exclude=tuple())
        Load the sentencizer from a bytestring.
        
                bytes_data (bytes): The data to load.
                returns (Sentencizer): The loaded object.
        
                DOCS: https://spacy.io/api/sentencizer#from_bytes
        """
        pass
...

为什么在 sentencizer.py 中定义的函数中没有内容。在 spaCy github repo 中,没有 sentencizer.py 文件,并且在sentencizer.pyx 中定义了类“sentencizer”:

class Sentencizer(Pipe):
    """Segment the Doc into sentences using a rule-based strategy.
    DOCS: https://spacy.io/api/sentencizer
    """

    default_punct_chars = ['!', '.', '?', '։', '؟', '۔', '܀', '܁', '܂', '߹',
            '।', '॥', '၊', '။', '።', '፧', '፨', '᙮', '᜵', '᜶', '᠃', '᠉', '᥄',
            '᥅', '᪨', '᪩', '᪪', '᪫', '᭚', '᭛', '᭞', '᭟', '᰻', '᰼', '᱾', '᱿',
            '‼', '‽', '⁇', '⁈', '⁉', '⸮', '⸼', '꓿', '꘎', '꘏', '꛳', '꛷', '꡶',
            '꡷', '꣎', '꣏', '꤯', '꧈', '꧉', '꩝', '꩞', '꩟', '꫰', '꫱', '꯫', '﹒',
            '﹖', '﹗', '!', '.', '?', '????', '????', '????', '????', '????', '????', '????',
            '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????',
            '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????',
            '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????',
            '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????',
            '。', '。']

为什么安装的文件与 github repo 不同?谢谢!

【问题讨论】:

  • 当您说使用 ctrl+b 查找定义时,您使用的是什么软件?另外,您的完整 spaCy 版本是什么 - 3.0.3 或更早版本?

标签: spacy


【解决方案1】:

在开发 Python 库时,所做的小更改会保存在 Git 中,但只有在维护者有意发布时,它们才会发布到 PyPI。因此,您计算机上的文件与 git 存储库中的文件略有不同是正常的,即使您的版本非常新。

我对您发布的 sentencizer.py 代码感到非常困惑,因为在 spaCy 中似乎从未有过具有该名称的文件,但看起来那是 magic PyCharm feature - 它没有向您显示实际的源代码,它正在做某种反编译。

您注意到 spaCy 有 sentencizer.pyx 文件。它被编译成一个二进制 .so 文件,当您使用该代码时 Python 会运行该文件。 PyCharm 大概是从.so 文件向后工作。

【讨论】:

    猜你喜欢
    • 2021-07-25
    • 2017-01-04
    • 1970-01-01
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多