2013-02-08 2 views
4

저는 Python3.3 시스템 (64 비트) 용 cvxopt 모듈을 설치 한 Python을 처음 사용했습니다. 설치가 성공적으로 완료,하지만 난 파이썬 명령 줄에 "import cvxopt"를 입력하면 오류가 반환import cvxopt.base : 지정된 모듈을 찾을 수 없습니다.

File "C:\Program Files (x86)\Python\lib\site-packages\cvxopt__init__.py", line 33, in import cvxopt.base ImportError: DLL load failed: The specified module could not be found.

은 누구도 날이 문제에 도움이 될 수 있습니까? 고마워요!

답변

0

cvxopt.base는 pyd 파일 (기본적으로 Windows DLL)로 빌드됩니다. "C : \ Program Files (x86) \ Python \ lib \ site-packages \ cvxopt"에 있어야합니다. 이 디렉토리가 PYTHONPATH에 있는지 확인하십시오. 그렇지 않은 경우, 다음과 같이 명령 줄에서 경로에 디렉토리를 추가 할 수 있습니다

import sys 
sys.path.append("C:\Program Files (x86)\Python\lib\site-packages\cvxopt") 

희망을!

+0

처음 시도했지만 도움이되지 않았습니다. 아래 내 대답을 참조하십시오. – Daniel

11

cvxopt를 가져 오기 전에 numpy를 먼저 가져와야합니다.

import numpy 
import cvxopt 
+3

나를 위해 작동하지 않습니다. – ziyuang

+0

가져 오기를 추가하면 변경 될 수있는 방법을 알 수 없습니다. 이것을 더 자세히 설명해주십시오. (또한,이 솔루션은 나를 위해 작동하지 않습니다.) – Samufi

+0

이것은 문제가되지 않습니다, 아래 내 의견을 참조하십시오. – Daniel

3

패키지 CVXOPT이 NumPy와 + MKL이 필요합니다, 당신은 NumPy와 패키지를 제거 시도 할 수 있습니다 다음 CVXOPT을 가져, http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy에서 NumPy와 + MKL을 다시 설치, 그것은 작동합니다.

+0

현재 버전의 Anaconda (예 : Anaconda 5.x)는 Numpy에 대해 MKL을 지원합니다. 이것은 문제가 될 수 없습니다. 아래 내 대답을 참조하십시오. – Daniel

0

dll로드 문제의 이유는 매우 다른 것 같습니다. 최신 Anaconda 버전 (예 : Anaconda 5.0.1)에는 Numpy with MKL 지원이 있습니다. 이것은 가 아니요입니다. 나는 conda list를 사용하여 설치된 패키지를보고이를 확인했다. 문제는 cvxopt이 디렉토리에 어떤 DLL을 필요로한다는 사실이다

C:\Anaconda3\envs\foo\Library\mingw-w64\bin 

당신은 아나콘다를 설치하고 사용 후 (자신의 제안 설정 어쨌든입니다) 시스템 경로에 하지 레지스터 아나콘다 파이썬을하고있는 경우 아나콘다 prommpt는 새로운 환경 (주 cvxopt의 현재적인 버전을위한 파이썬 3.5 필요)

conda create -n foo python=3.5 
activate foo 

conda install cvxopt 

및 가져 오기 cvxopt를 설정하는

(foo) C:\tmp>python 
Python 3.5.4 |Anaconda, Inc.| (default, Nov 8 2017, 14:34:30) [MSC v.1900 
64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import cvxopt 
>>> 

모두 정상적으로 작동합니다. 당신이 아나콘다 관련 경로 설정을 선택하면 이제 C를 제거하면 당신은

C:\Anaconda3\envs\foo; 
C:\Anaconda3\envs\foo\Library\mingw-w64\bin; 
C:\Anaconda3\envs\foo\Library\usr\bin; 
C:\Anaconda3\envs\foo\Library\bin; 
C:\Anaconda3\envs\foo\Scripts; 

을 찾을 수 있습니다 : \ Anaconda3 \ envs \ foo는 \ 도서관은 문제

로 돌아 경로에서 \와 Mingw-W64 \ bin에
C:\tmp>python 
Python 3.5.4 |Anaconda, Inc.| (default, Nov 8 2017, 14:34:30) [MSC v.1900 
64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import cvxopt 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Anaconda3\envs\tf14\lib\site-packages\cvxopt\__init__.py", line 32, in <module> 
    import cvxopt.base 
ImportError: DLL load failed: The specified module could not be found. 
>>> 

그러나 PyCharm과 관련된 또 다른 문제가 있습니다 : PyCharm을 사용하여 실제로 Anaconda envs를 실제로 사용하는 방법은 무엇입니까? PyCharm은 환경에 필요한 추가 경로를 처리 할 수 ​​없습니다. 상자에서 꺼내지 않은 채로, 또는 제대로 할 수있는 방법을 찾지 못했습니다. 어떤 제안이라도 환영합니다.

0

나는 cvxopt 모듈을 가져 오는 동안 ImportError와 동일한 문제가있었습니다.

  1. 오픈 아나콘다 프롬프트
  2. CONDA -n 생성 파이썬 = 3 : cvxopt 파이썬 2.7-3.5 버전을 지원하기 때문에, I는 다음 단계를 사용하여 파이썬 3.5 CONDA 먼저 가상 환경을 만들었다.5
  3. CONDA는 명령을 사용하여 cvxopt 패키지를 설치 활성화 CONDA 환경에서

을 활성화 : CONDA이는 cvxopt 패키지 및 모든 종속성을 설치합니다 cvxopt에게

를 설치합니다.

설치 후 Anaconda 프롬프트에 spyder를 입력하여 스파이더를 열면 작성한 가상 환경으로 Spyder가 열립니다.

이 cvxopt 패키지가 오류없이 작동합니다.

참고 : Pycharm에서 가상 환경을 열려고 시도했지만 작동하지 않았고 결국 스파이더로 전환되었습니다.

관련 문제