programing

spacy Windows 10 및 Python 3.5.3에서 'en_core_web_sm' 모델을 찾을 수 없음 :: 아나콘다 사용자 지정(64비트)

magicmemo 2023. 5. 21. 11:19
반응형

spacy Windows 10 및 Python 3.5.3에서 'en_core_web_sm' 모델을 찾을 수 없음 :: 아나콘다 사용자 지정(64비트)

사이에 무엇이 다른가spacy.load('en_core_web_sm')그리고.spacy.load('en') 링크는 다양한 모델 크기를 설명합니다.하지만 나는 여전히 어떻게spacy.load('en_core_web_sm')그리고.spacy.load('en')가 나다

spacy.load('en')저는 잘 운영되고 있습니다. 그데그런.spacy.load('en_core_web_sm')를 던집니다.

는 습다니했을 설치했습니다.spacy하기와 같이내가 주피터 노트북에 가서 명령을 실행할 수 있습니다.nlp = spacy.load('en_core_web_sm') 오류가 합니다.

---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-4-b472bef03043> in <module>()
      1 # Import spaCy and load the language library
      2 import spacy
----> 3 nlp = spacy.load('en_core_web_sm')
      4 
      5 # Create a Doc object

C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\spacy\__init__.py in load(name, **overrides)
     13     if depr_path not in (True, False, None):
     14         deprecation_warning(Warnings.W001.format(path=depr_path))
---> 15     return util.load_model(name, **overrides)
     16 
     17 

C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\spacy\util.py in load_model(name, **overrides)
    117     elif hasattr(name, 'exists'):  # Path or Path-like to model data
    118         return load_model_from_path(name, **overrides)
--> 119     raise IOError(Errors.E050.format(name=name))
    120 
    121 

OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.

Spacy 설치 방법 ---

(C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder) C:\Users\nikhizzz>conda install -c conda-forge spacy
Fetching package metadata .............
Solving package specifications: .

Package plan for installation in environment C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder:

The following NEW packages will be INSTALLED:

    blas:           1.0-mkl
    cymem:          1.31.2-py35h6538335_0    conda-forge
    dill:           0.2.8.2-py35_0           conda-forge
    msgpack-numpy:  0.4.4.2-py_0             conda-forge
    murmurhash:     0.28.0-py35h6538335_1000 conda-forge
    plac:           0.9.6-py_1               conda-forge
    preshed:        1.0.0-py35h6538335_0     conda-forge
    pyreadline:     2.1-py35_1000            conda-forge
    regex:          2017.11.09-py35_0        conda-forge
    spacy:          2.0.12-py35h830ac7b_0    conda-forge
    termcolor:      1.1.0-py_2               conda-forge
    thinc:          6.10.3-py35h830ac7b_2    conda-forge
    tqdm:           4.29.1-py_0              conda-forge
    ujson:          1.35-py35hfa6e2cd_1001   conda-forge

The following packages will be UPDATED:

    msgpack-python: 0.4.8-py35_0                         --> 0.5.6-py35he980bc4_3 conda-forge

The following packages will be DOWNGRADED:

    freetype:       2.7-vc14_2               conda-forge --> 2.5.5-vc14_2

Proceed ([y]/n)? y

blas-1.0-mkl.t 100% |###############################| Time: 0:00:00   0.00  B/s
cymem-1.31.2-p 100% |###############################| Time: 0:00:00   1.65 MB/s
msgpack-python 100% |###############################| Time: 0:00:00   5.37 MB/s
murmurhash-0.2 100% |###############################| Time: 0:00:00   1.49 MB/s
plac-0.9.6-py_ 100% |###############################| Time: 0:00:00   0.00  B/s
pyreadline-2.1 100% |###############################| Time: 0:00:00   4.62 MB/s
regex-2017.11. 100% |###############################| Time: 0:00:00   3.31 MB/s
termcolor-1.1. 100% |###############################| Time: 0:00:00 187.81 kB/s
tqdm-4.29.1-py 100% |###############################| Time: 0:00:00   2.51 MB/s
ujson-1.35-py3 100% |###############################| Time: 0:00:00   1.66 MB/s
dill-0.2.8.2-p 100% |###############################| Time: 0:00:00   4.34 MB/s
msgpack-numpy- 100% |###############################| Time: 0:00:00   0.00  B/s
preshed-1.0.0- 100% |###############################| Time: 0:00:00   0.00  B/s
thinc-6.10.3-p 100% |###############################| Time: 0:00:00   5.49 MB/s
spacy-2.0.12-p 100% |###############################| Time: 0:00:10   7.42 MB/s

(C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder) C:\Users\nikhizzz>python -V
Python 3.5.3 :: Anaconda custom (64-bit)

(C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder) C:\Users\nikhizzz>python -m spacy download en
Collecting en_core_web_sm==2.0.0 from https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz#egg=en_core_web_sm==2.0.0
  Downloading https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz (37.4MB)
    100% |################################| 37.4MB ...
Installing collected packages: en-core-web-sm
  Running setup.py install for en-core-web-sm ... done
Successfully installed en-core-web-sm-2.0.0

    Linking successful
    C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\en_core_web_sm
    -->
    C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\spacy\data\en

    You can now load the model via spacy.load('en')


(C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder) C:\Users\nikhizzz>

처음에 저는 다음 문구를 사용하여 두 개의 패키지를 다운로드했습니다.

python -m spacy download en_core_web_lg
python -m spacy download en_core_web_sm

하지만 계속 링크 오류가 발생했고 마침내 아래 명령을 실행하여 링크를 설정하고 오류를 해결할 수 있었습니다.

python -m spacy download en

또한 주피터로 작업할 경우 런타임을 다시 시작해야 합니다. -PS : 링크 오류가 발생하면 관리자 권한을 부여해 보십시오.

당신의 오해에 대한 대답은 Unix 개념으로, 우리는 Windows에서 바로 가기와 유사하다고 말할 수 있는 소프트 링크입니다.설명을 해드릴게요.

이 신이당 때.spacy download enspaCy는 spaCy 분포에 가장 적합한 소형 모형을 찾으려고 합니다.내가 말하는 작은 모델은 기본적으로en_core_web_sm버전에 될 수 (예: 이 서 로 다 spaCy 버 예 해 다 변 발 서 수 있 될 견 습 니 다 에 형 한 는 하 는 양 당 에 른 전 예 : :spacy,spacy-nightly갖고 있다en_core_web_sm크기가 다릅니다.

spaCy가 당신에게 가장 적합한 모델을 찾으면, 그것을 다운로드하고 이름을 연결합니다.en 다로드패키예지한운예(:지).en_core_web_sm그것은 기본적으로 당신이 언급할 때마다en당신은 다음과 같은 것을 언급이 될 것입니다.en_core_web_sm 다른말하면로,하면,en링크가 "진짜" 패키지가 아닌 후에는 이름일 뿐입니다.en_core_web_sm.

하지만, 그것은 반대로 작동하지 않습니다.다음을 직접 참조할 수 없습니다.en_core_web_sm설치된 것을 시스템이 인식하지 못하기 때문입니다.이 신이했때을 했을 때.spacy download en당신은 기본적으로 파이프 설치를 했습니다.그래서 pip은 당신이 이름이 붙은 패키지를 가지고 있다는 것을 알고 있습니다.en 것이 .en_core_web_sm이 패키지는 패키지를 교체하는 중입니다.en당신이 그것을 가져올 때, 그것은 그 패키지를 의미합니다.en에 대한 소프트 링크일 뿐입니다.en_core_web_sm.

은 물론, 당은직다할드수있다습니운로접신▁download다▁directly있▁of니▁can습수물▁you할,,론▁course를 직접 다운로드 받을 수 있습니다.en_core_web_sm:python -m spacy download en_core_web_sm인 아면이연결니름있수습다니도할을다있▁the▁name▁link니습▁even▁or▁you.en다른 모델에도 적용됩니다.를 들어,은 예들어할, 은수있다니습당을 할 수 .python -m spacy download en_core_web_lg그리고 나서.python -m spacy link en_core_web_lg en그렇게 하면 됩니다.enen_core_web_lg그것은 영어를 위한 큰 spaCy 모델입니다.

이제 분명해 졌으면 좋겠습니다 :)

다음은 저에게 도움이 되었습니다.

import en_core_web_sm

nlp = en_core_web_sm.load()

Colab에서 Spacy 언어 모델을 사용하려면 다음 두 단계만 수행하면 됩니다.

  1. 모델 다운로드(모델 크기에 따라 이름 변경)
!python -m spacy download en_core_web_lg 
  1. 콜라브 런타임을 다시 시작합니다!바로 가기 키 수행: Ctrl + M +

시험

import spacy
nlp = spacy.load("en_core_web_lg")

성공!!!

아나콘다 프롬프트에서 관리자로 설치한 후에도 여전히 문제에 직면한 사용자를 위해 다음과 같은 간단한 해결책이 있습니다.

  1. 다운로드할 경로로 이동합니다.예를 들어.

    C:\Users\name\AppData\Local\Continuum\anaconda3\Lib\site-packages\en_core_web_sm\en_core_web_sm-2.2.0
    
  2. 경로를 복사합니다.

  3. 붙여넣기 위치:

    nlp = spacy.load(r'C:\Users\name\AppData\Local\Continuum\anaconda3\Lib\site-packages\en_core_web_sm\en_core_web_sm-2.2.0')
    
  4. 매력적으로 작동합니다 :)

PS: Spacy 버전 확인

이 방법을 사용해 보십시오. 이 방법은 저에게 매력적으로 작용했습니다.

아나콘다 프롬프트에서 다음 명령을 실행합니다.

!python -m spacy download en

위의 명령을 실행한 후에는 주피터 노트북에서 다음을 실행할 수 있습니다.

spacy.load('en_core_web_sm')

!python -m spacy download en_core_web_lg을 수행합니다.대신 이 작업을 수행합니다.

import spacy.cli
spacy.cli.download("en_core_web_lg")

커널이 작동하려면 위의 두 명령을 실행하기 전에 커널을 다시 시작해야 합니다.

다양한 버전의 공간을 기준으로 모듈을 로드하는 단계

spaCy 설치에 가장 적합한 특정 모델 버전 다운로드

python -m spacy download en_core_web_sm
pip install .tar.gz archive from path or URL
pip install /Users/you/en_core_web_sm-2.2.0.tar.gz

또는

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

요구 사항 파일 또는 환경 yaml 파일에 추가합니다.하나의 공간 버전이 호환되는 버전 범위는 https://github.com/explosion/spacy-models/releases 에서 더 자세히 볼 수 있습니다.

코드 아래에서 실행 중인지 확실하지 않은 경우

nlp = spacy.load('en_core_web_sm') 

설치된 Spacy 버전과 호환되는 버전 모델을 알려주는 경고가 울립니다.

environment.yml 예제

name: root
channels:
  - defaults
  - conda-forge
  - anaconda
dependencies:
  - python=3.8.3
  - pip
  - spacy=2.3.2
  - scikit-learn=0.23.2
  - pip:
    - https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.3.1/en_core_web_sm-2.3.1.tar.gz#egg=en_core_web_sm

에 대해 합니다.pip install -U spacy

그런 다음 다음 코드를 작성합니다.

import en_core_web_sm
nlp = en_core_web_sm.load()

나는 달리고 있습니다JupyterWindows의 노트북입니다.

마지막으로 버전 문제입니다. Conda cmd 프롬프트에서 아래 명령을 실행해야 합니다(admin으로 열기).

  • pip 설치 공간==2.3.5

  • python - mspacy 다운로드 en_core_web_sm

  • python - mspacy 다운로드됨

from chatterbot import ChatBot
import spacy
import en_core_web_sm
nlp = en_core_web_sm.load()
ChatBot("hello")

- 출력 -여기에 이미지 설명 입력

import spacy

nlp = spacy.load('/opt/anaconda3/envs/NLPENV/lib/python3.7/site-packages/en_core_web_sm/en_core_web_sm-2.3.1')

이미지에 표시된 버전과 함께 패키지의 절대 경로를 지정해 보십시오.

완벽하게 잘 작동합니다.

내가 우주에서 본 이것에 대한 간단한 해결책이오

from spacy.lang.en import English
nlp=English()

https://course.spacy.io/en/chapter1

윈도우 기반 아나콘다의 경우,

  1. 아나콘다 프롬프트 열기

  2. 환경을 활성화합니다.예: 활성 myspacyenv

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

  4. python -m spacy download en_core_web_sm

  5. 주피터 노트북 열기 ex: 활성 myspacyenv 및 아나콘다 프롬의 주피터 노트북

import spacy spacy.load('en_core_web_sm')

그리고 그것은 평화롭게 운영될 것입니다!

아나콘다 네비게이터를 엽니다.원하는 IDE를 클릭합니다.코드 실행:

!pip install -U spacy download en_core_web_sm
!pip install -U spacy download en_core_web_sm

그건 작동할 것이다.IDE가 열려 있는 경우 IDE를 직접 닫고 이 절차를 한 번 수행합니다.

다른 구문을 사용하여 모듈을 로드하는 것이 저에게 효과가 있었습니다.

import en_core_web_sm
nlp = en_core_web_sm.load()

아나콘다 사용자

  1. Conda 가상 환경을 사용하는 경우 기본 환경Python 버전과 동일한 버전의 Python을 사용해야 합니다.확인하려면 다음을 실행합니다.python --versionPython( 동지않경해버예전당의우은하각서)으로 새 합니다.conda create --name myenv python=x.x.x).

  2. 합니다.conda activate myenv)

  3. conda install -c conda-forge spacy
  4. python -m spacy download en_core_web_sm

저는 방금 이 문제에 부딪혔고, 위와 같은 문제가 저에게 효과가 있었습니다.이것은 현재 가상 환경에서 액세스할 수 없는 영역에서 발생하는 다운로드 문제를 해결합니다.

그런 다음 다음을 실행할 수 있어야 합니다.

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

명령 프롬프트 또는 터미널을 열고 다음 코드를 실행합니다.

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

주피터 노트에서 아래 청크를 실행합니다.

import spacy

nlp = spacy.load('en_core_web_sm')

위의 코드가 모두에게 효과가 있기를 바랍니다:)

'pacy.load()'를 사용하여 모듈을 로드할 수 없는 것과 동일한 문제가 있었습니다. 창에서 이 문제를 해결하려면 다음 단계를 수행하십시오.

  1. !download -mspacy download en_core_web_sm을 사용하여 다운로드합니다.
  2. import_core_web_sm을 importen_core_web_sm으로 가져오기
  3. en_core_web_sm.load를 사용하여 일부 변수에 로드

전체 코드:

python -m spacy download en_core_web_sm

import en_core_web_sm

nlp = en_core_web_sm.load()

이 기능은 콜라브와 함께 작동합니다.

!python -m spacy download en
import en_core_web_sm
nlp = en_core_web_sm.load()

또는 매체의 경우:

import en_core_web_md
nlp = en_core_web_md.load()

위의 어떤 것도 대신에, 이것은 저의 실수를 해결했습니다.

conda install -c conda-forge spacy-model-en_core_web_sm

당신이 아나콘다 사용자라면 이것이 해결책입니다.

저는 MacOS에서 PyCharm을 실행하고 있으며 위의 답변 중 어느 것도 저에게 완전히 효과적이지는 않았지만 충분한 단서를 제공했고 마침내 모든 것이 작동할 수 있었습니다.저는 ec2 인스턴스에 연결하고 있으며 Mac에서 편집할 수 있도록 PyCharm을 구성했으며 ec2 인스턴스의 파일을 자동으로 업데이트합니다.따라서 여러 번 설치를 했는데도 spacy를 찾지 못한 ec2 측에서 문제가 있었습니다.명령줄에서 파이썬 스크립트를 실행하면 모든 것이 정상적으로 작동했습니다.그러나 PyCharm 내에서 처음에는 Spacy와 모델을 찾지 못했습니다.저는 결국 "requirements.txt" 파일을 추가하는 위의 권장 사항을 사용하여 "finding" 공간 문제를 해결했습니다.하지만 그 모델들은 여전히 인식되지 않았습니다.

내 솔루션: 모델을 수동으로 다운로드하여 ec2 인스턴스의 파일 시스템에 배치하고 로드될 때 명시적으로 가리킵니다.여기서 파일을 다운로드했습니다.

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

https://github.com/explosion/spacy-models/releases/download/en_core_web_lg-3.0.0/en_core_web_lg-3.0.0.tar.gz

에, 제시키고, 을 풀고, 시스템에서 를 들어, 드후에로다저, ec2스스로이, 풀고시서일파, 그습다니언에했것을들그태./path_to_models/en_core_web_lg-3.0.0/

내에서 는 그런내다명경사사용모여델다드로에니고하다습작동했서같니다습을과용경음된는로하로음시를적사ch▁i▁using▁the▁the▁used▁allnote(다▁from▁load▁to▁way▁py같▁goes▁path▁and▁model그니▁then▁the).en_core_web_lg-3.0.0만약 당신이 그 폴더와 함께 사용하지 않는다면 당신은 에러를 얻을 것입니다.config.cfg으):

nlpObject = spacy.load('/path_to_models/en_core_web_lg-3.0.0/en_core_web_lg/en_core_web_lg-3.0.0')

하기 Spacy 버전확 인pip show spacy다음과 같은 것을 얻을 수 있습니다.

이름: 공간 버전: 3.1.3 요약:Python의 산업용 자연어 처리(NLP)

다음을 사용하여 합니다.!pip install -U https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0.tar.gz

저는 위의 답변을 모두 시도했지만 성공하지 못했습니다.아래는 나를 위해 일했습니다.

(윈도우즈 OS에만 해당)

  1. 관리자 권한으로 anaconda 명령 프롬프트 실행(중요)
  2. 그런 다음 아래 명령을 실행합니다.
  pip install -U --user spacy    
  python -m spacy download en
  1. 확인을 위해 아래 명령을 사용해 보십시오.
import spacy
spacy.load('en')
  1. 다른 버전에서도 작동할 수 있습니다.

이미다한경우드를 spacy 모델 언어모예델예()en_core_web_sm또는en_core_web_md), 다음 할 수

  1. 관리자로 아나콘다 프롬프트 열기

  2. 그런 다음 다음을 입력합니다.python -m spacy link 경로] [패키지 이름 또는 경로] [패키지]

    예를 들어,python -m spacy link /Users/you/model en

언어 모델에 대한 심볼 링크가 생성됩니다.이제 다음을 사용하여 모델을 로드할 수 있습니다.spacy.load("en") 또는 할 수 .

제가 한 일은 이렇습니다.

  1. Anaconda Prompt / Command Line에서 작업하던 가상 환경으로 이동

  2. 실행: python -mspacy download en_core_web_sm

그리고 끝났습니다.

사용해 보십시오.
download !syspace -mspace 파일 이름 en_core_web_md

저도 비슷한 문제에 직면했습니다.해결 방법

  1. 관리 모드에서 아나콘다 프롬프트를 시작합니다.
  2. python - mspacy downloaden과 python - mspacy downloaden_core_web_sm을 위의 단계 이후에 모두 설치했습니다. 저는 이 패키지에 액세스하는 주피터 노트북을 시작했습니다.이제 import spacynlp = spacy.loaden_core_web_sm') 또는 nlp = spacy.loaden')에 모두 액세스할 수 있습니다.

저도 비슷한 문제에 직면했습니다.특정 콘다 환경에서 spacy 및 en_core_web_sm을 설치했습니다.그러나 다음과 같은 두 가지 다른 문제가 발생했습니다.

[Errno 2] 해당 파일 또는 디렉터리가 없습니다. '...\en_core_web_sm\en_core_web_sm-2.3.1\vocab\lexemes.bin' 또는 OSError: [E050] 'en_core_web_sm' 모델을 찾을 수 없습니다...바로 가기 링크, 파이썬 패키지 또는 데이터 디렉토리에 대한 유효한 경로가 아닌 것 같습니다.

다음을 수행했습니다.

  1. 관리자로 명령 프롬프트 열기
  2. c:>로 이동합니다.
  3. 내 Conda 환경 활성화(특정 Conda 환경에서 작업하는 경우):
c:\>activate <conda environment name>
  1. (conda environment name)c:\>python -m spacy download en
  2. Jupyter Notebook으로 돌아가면 다음 언어 라이브러리를 로드할 수 있습니다.
nlp = en_core_web_sm.load()

저한테는 효과가 있어요 :)

를 다운로드합니다.en_core_web_sm filetar 일파

아나콘다에서 터미널을 열거나 아나콘다 even을 엽니다.실행:

pip3 install /Users/yourpath/Downloads/en_core_web_sm-3.1.0.tar.gz;

또는

pip install /Users/yourpath/Downloads/en_core_web_sm-3.1.0.tar.gz;

주피터를 다시 시작하면 작동합니다.

OS 콘솔에서 실행:

python -m spacy download en
python -m spacy link en_core_web_sm en_core_web_sm

그런 다음 Python 콘솔 또는 Python IDE에서 이를 실행합니다.

import spacy
spacy.load('en_core_web_sm')

언급URL : https://stackoverflow.com/questions/54334304/spacy-cant-find-model-en-core-web-sm-on-windows-10-and-python-3-5-3-anacon

반응형