작업 환경
- Windows 사용
- Anaconda 사용
- Visual Studio Code 사용
- Jupyter notebook 사용
- Python 3.6.12 사용
- 가상 환경 생성하여 사용
ImportError: DLL load failed: 시스템에서 파일에 액세스할 수 없습니다.
영어로는 'ImportError: DLL load failed: The file cannot be accessed by the system'라는 문구를 만났습니다.
데이터 분석 및 머신 러닝을 위해 파이썬을 사용하고 있는 와중에, 가끔씩 만나는 것 같습니다.
그리고 분명히 이전에 경험했던 에러인데, 아무리 구글링을 하더라도 명확한 답을 얻지 못했었습니다.
계속 Stack Overflow를 들여다 보고, 구글링을 했지만, 명확하게 적용되는 해결 방법이 없었습니다.
인터넷에 여러 가지 해결 방법이 공유되어 있어, 모든 걸 시도해봤습니다.
그러다가 운이 좋게 해결하게 되어서 이를 공유합니다.
보통 '액세스'라고 하면, 시스템 권한 문제로 발생하는 경우가 많은 것 같아서 아래와 같은 방법을 시도했습니다.
1. Anaconda Powershell Prompt "관리자로 실행"
윈도우 운영체제를 사용할 경우, 관리자로 실행해야 관리자 권한으로 패키지를 삭제 및 재설치가 원활하다고 합니다.
그래서 관리자로 실행해주는 게 포인트입니다.
2. 작업하는 가상 환경 실행 "conda activate 가상 환경 이름"
처음 실행했을 때, base로 지정되어 있으므로, 자신이 작업하는 가상 환경을 켜줍니다.
저의 경우, 가상 환경명을 text_analysis로 지정하였기 때문에 위 이미지처럼 작성했습니다.
text_analysis를 자신이 지정한 환경명으로 변경하면 됩니다.
conda activate text_analysis
3. ImportError를 일으키는 패키지 삭제 후, 재설치 "conda remove 패키지명" & "conda install 패키지명"
저의 경우, 문제를 일으킨 패키지가 numpy와 matplotlib 이었습니다.
우선 위와 같이 작성하여 numpy, matplotlib을 삭제합니다.
conda remove numpy, matplotlib
그리고 재설치를 진행합니다.
conda install numpy, matplotlib
4. 재부팅 후, 코드 셀 실행해보기
재설치 후, 곧바로 코드 셀을 다시 실행한다고 해서 곧바로 문제가 해결되지 않았습니다.
하지만 잠시 쉬어준다는 생각으로 컴퓨터를 재부팅 후에 다시 실행했더니 위와 같이 문제가 해결되었습니다.