2013-02-08 645 views
4

我是Python新手,剛剛爲我的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 2017-11-30 09:23:37

11

在導入cvxopt之前,您需要先導入numpy。

import numpy 
import cvxopt 
+3

不適合我。 – ziyuang 2015-01-03 02:06:31

+0

我看不出如何添加導入可能會改變任何東西。請進一步解釋。 (此外,此解決方案對我無效。) – Samufi 2017-11-09 02:09:23

+0

這不是問題,請參閱下面的我的評論。 – Daniel 2017-11-30 09:22:05

3

包CVXOPT需要numpy的+ MKL,你可以嘗試卸載numpy的軟件包,並重新安裝numpy的+ MKL從http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy,然後導入CVXOPT,它會奏效。

+0

當前版本的Anaconda(例如Anaconda 5.x)具有Mump支持Numpy的功能。這不是問題。請參閱下面的答案。 – Daniel 2017-11-30 09:23:08

0

dll加載問題的原因很可能是一個非常不同的問題。最新的Anaconda版本(例如Anaconda 5.0.1)擁有支持MKL的Numpy。這是不是的問題。我通過使用conda列表查看已安裝的軟件包來驗證這一點。問題是,cvxopt需要一些dll文件,這是在目錄中的事實

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

如果您安裝蟒蛇做寄存器蟒蛇蟒蛇系統路徑上(這是他們所建議的設置是這樣),然後使用水蟒prommpt成立(爲cvxopt當前verison注意到你需要的Python 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:\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; 

如果現在刪除C:\ Anaconda3 \ ENVS \富\圖書館從你又回到了這個問題

路徑\ 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. 康達創建-n蟒= 3:由於cvxopt支持Python版本2.7-3.5,我使用下面的步驟中創建一個康達虛擬環境先用蟒3.5。5個
  3. 康達激活

在激活康達環境中使用命令安裝cvxopt包: 康達安裝cvxopt

這將安裝cvxopt包和所有的依賴關係。

安裝完成後,在Anaconda提示符下鍵入spyder打開spyder,這將使用您創建的虛擬環境打開Spyder。

之後此cvxopt包將工作沒有任何錯誤。

注意:我一直試圖在Pycharm中打開虛擬環境,但沒有起作用,最後切換到spyder。

相關問題