2016-01-13 343 views
0

我在Ubuntu上安裝了scipynumpy,使用apt-get,它工作正常,直到我嘗試使用scikit-image。看起來在scipy.lib裏有一個名爲six的模塊,它不存在於scipy中。因此,我越來越即使安裝了scipy,也沒有名爲scipy.lib.six的模塊

File "/usr/lib/python2.7/dist-packages/scipy/ndimage/_ni_support.py", line 35, in <module> 
    from scipy.lib.six import integer_types, string_types 
ImportError: No module named six 

是否有解決方案安裝six模塊? 我的scipy版本是0.13.3

編輯:事實證明six模塊確實是名稱爲six的相同包。我卸載sixpython-scipy,雖然重新安裝SciPy的我得到了以下錯誤

W: pycompile:160: dangling symlink skipped: /usr/lib/python2.7/dist-packages/scipy/lib/decorator.py (../../decorator.py) 
W: pycompile:160: dangling symlink skipped: /usr/lib/python2.7/dist-packages/scipy/lib/six.py (../../six.py) 

重新編輯:我想我想通了這個問題。安裝scipy時,它會嘗試與dist-packages內已安裝的six模塊建立符號鏈接。但趕上是,scipy被安裝在/usr/lib/six裏面/usr/local/lib

+1

作爲一個附註,'six'是一組實用程序,允許在python-2和python-3上運行代碼。它在我有的scipy 0.15.1中可用。 – icedwater

+0

我已經'六'了。這裏模塊是從kinda不同的'scipy.lib'導入的。 –

+0

沒有先安裝'six',我用'apt-get'在我的虛擬機上安裝了'scipy'(與你的一樣0.13.3),我能夠導入上面列出的兩個變量。另外,'scipy.lib.six' - 是python兼容包,我從控制檯的help(scipy.lib.six)中獲得了這行代碼。 – icedwater

回答

0

如果您在Windows工作由Gohlke提供可下載軟件包: http://www.lfd.uci.edu/~gohlke/pythonlibs/#six

否則,你可以下載輪(.whl擴展)並安裝此使用PIP。

+0

我喜歡Gohlke頁面,因爲我必須處理Windows機器。 – icedwater

+1

我在Linux上,我不認爲問題是與python2-3兼容性包。我已經知道了。這裏缺少的模塊是在'scipy.lib'模塊內部構建的 –

+1

我相當肯定它是python2-3兼容包,雖然它包含在scipy中。如果我是你,我會卸載這六個軟件包並重新安裝scipy軟件包。 (順便說一句,你確定你正在使用適當的python環境; 2或3) –

相關問題