【问题标题】:unable to pip install spacy [model] due to proxy issue由于代理问题,无法 pip install spacy [model]
【发布时间】:2019-09-13 21:29:48
【问题描述】:

我正在尝试安装特定的 Spacy 模型“en_core_web_sm”。由于代理服务器限制我无法控制,我无法执行此操作。

我正在按照他们的文档中的建议使用以下命令: https://github.com/explosion/spacy-models

pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.1.0/en_core_web_sm-2.1.0.tar.gz

我想另一种方法是手动下载 zip 并将其复制到适当的目录。我无法弄清楚将这些文件放置在我的 Anaconda 设置中的哪个位置以使其正常工作。

有人可以建议我可以将这些文件放在哪里或提出替代方案吗?

(我已经完成了设置代理等,它适用于许多其他库,甚至安装了 Spacy 本身,但这个特定的模型拒绝安装)

【问题讨论】:

  • Using pip behind a proxy的可能重复
  • @RickyKim 我已经遇到过那个解决方案——不幸的是尝试过但失败了

标签: python spacy


【解决方案1】:

不确定这是否仍然相关,但是当我在使用 SpaCy 1.8.2 并调用时遇到同样的问题时,这个问题对我有所帮助

python -m spacy download en.

查看源码发现,当你下载一个语言模型时,SpaCy内部是调用pip安装语言模型,然后在python环境的spacy/data目录下创建符号链接。要查看的相关文件是

spaCy-1.8.2\spacy\cli\downdload.py

spaCy-1.8.2\spacy\cli\link.py

我的解决方案是在本地下载语言模型并将这两行添加到我的设置脚本中:

pip install "en_core_web_sm-1.2.0.tar.gz"

ln -s "env/lib/python3.5/site-packages/en_core_web_sm/en_core_web_sm-1.2.0" env/lib/python3.5/site-packages/spacy/data/en

【讨论】:

    【解决方案2】:

    您在代理之后,您是否能够直接从浏览器中的版本下载模型。首先下载 tar 文件。

    https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz
    

    .tar.gz 存档与 spacy 下载期间下载的文件相同,它是一个可安装的 Python 包。因此,如果您有该文件,还可以执行以下操作:

    pip install /path/to/en_core_web_sm-2.0.0.tar.gz
    

    您应该可以像这样使用模型:

    import spacy
    
    nlp = spacy.load('en_core_web_sm')
    

    你也可以用同样的方式下载其他 spacy 模型或者你也可以在 pip install 中使用代理,但在我的情况下它不起作用。

    pip --proxy <proxy> https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.1.0/en_core_web_sm-2.1.0.tar.gz
    

    【讨论】:

    • 我下载了 whl 文件并尝试安装它。但似乎仍然需要网络连接。如何解决?
    • Spacy 总是希望用户根据需要下载模型,这在轮子或 zip 文件中不可用,所以我认为下载轮子对您没有帮助。
    【解决方案3】:

    您似乎正尝试在安装了防火墙的公司网络上进行安装,您能否连接到另一个 WiFi 或热点并再次尝试下载?

    【讨论】:

    • 这就是问题所在!感谢分享。
    • 解决方案如何“改变你的环境”?那么他应该如何在代理后面做呢?这不是一个解决方案,这是一个 hack。
    【解决方案4】:

    尝试使用

    pip --proxy http://username:password@proxy-host:proxy-port install package-name
    

    或使用此链接PIP_Proxy_StackOverflow

    【讨论】:

    • 尝试并失败。我认为它击中的特定端点被我正在工作的环境阻止了。也尝试过设置 HTTP_PROXY,HTTPS_PROXY 也没有运气:(
    猜你喜欢
    • 1970-01-01
    • 2022-11-08
    • 2023-04-03
    • 2013-07-18
    • 2014-06-19
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 2022-06-18
    相关资源
    最近更新 更多