2016-02-05 70 views
0

我在64位窗口界面中將python 2.7的anaconda安裝與cygwin結合使用。據我所知,一切正常安裝,但當我嘗試運行一些示例代碼時,遇到了一個錯誤。Continuum Anaconda和matplotlib

導入錯誤:沒有模塊matplotlib.pyplot命名

示例代碼:

#!/usr/bin/python2.7 
''' 
Demonstrate use of a log color scale in contourf 
''' 

import matplotlib.pyplot as plt 
import numpy as np 
from numpy import ma 
from matplotlib import colors, ticker, cm 
from matplotlib.mlab import bivariate_normal 

N = 100 
x = np.linspace(-3.0, 3.0, N) 
y = np.linspace(-2.0, 2.0, N) 

X, Y = np.meshgrid(x, y) 

# A low hump with a spike coming out of the top right. 
# Needs to have z/colour axis on a log scale so we see both hump and spike. 
# linear scale only shows the spike. 
z = (bivariate_normal(X, Y, 0.1, 0.2, 1.0, 1.0) 
+ 0.1 * bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)) 

# Put in some negative values (lower left corner) to cause trouble with  logs: 
z[:5, :5] = -1 

# The following is not strictly essential, but it will eliminate 
# a warning. Comment it out to see the warning. 
z = ma.masked_where(z <= 0, z) 


# Automatic selection of levels works; setting the 
# log locator tells contourf to use a log scale: 
cs = plt.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.PuBu_r) 

# Alternatively, you can manually set the levels 
# and the norm: 
#lev_exp = np.arange(np.floor(np.log10(z.min())-1), 
#     np.ceil(np.log10(z.max())+1)) 
#levs = np.power(10, lev_exp) 
#cs = P.contourf(X, Y, z, levs, norm=colors.LogNorm()) 

# The 'extend' kwarg does not work yet with a log scale. 

cbar = plt.colorbar() 

plt.show() 

以上是代碼,以使輪廓圖,從matplotlib網站直接解除。

+0

在終端運行蟒蛇,然後'進口SYS設置'和'print(sys.path)'。會打印什麼? –

回答

1

很可能,您的機器上的不同環境中安裝了多個Python解釋器。你是否在Windows下安裝了native anaconda,或者在cygwin下安裝了anaconda?如果是後者,並且你從cygwin運行它,它可能使用CYGWIN_ROOT/usr/bin/python2.7(它沒有matplotlib)而不是你的anaconda安裝(它會這樣做)的python解釋器。

我不使用窗戶,所以我對路徑不積極,但this post是有幫助的。從Cygwin的類型:

$ which python 
$ export PATH=/cygdrive/c/anaconda:$PATH 
$ which python 

,改變該腳本的第一部分

#!/usr/bin/env python 

所以它使用Python由export命令

+0

是的,看起來像是使用usr/bin/python而不是我的anaconda安裝。另一方面,當我輸入你的代碼時,它似乎有困難。下面有什麼,我做了一行行: 的Python(輸入) 出口PATH =/cygdrive/C /水蟒:$ PATH(輸入),然後將其蟒蛇仍恢復到usr/bin中/ Python的 – PhysicistAbroad

+0

等待,得到了它 - 我的anaconda在不同的目錄下,但現在我切換了,它工作了! – PhysicistAbroad

+0

/cygdrive/c/anaconda可能不存在。我不知道默認的anaconda安裝在哪裏。它可能需要/ cygdrive/c/anaconda/bin或其他東西。你可能需要在那裏挖掘。你可以嘗試'find/cygdrive/c/anaconda | grep python2.7'並從那裏退出Python二進制文件所在的目錄。 – 22degrees