如何在Python IDLE中使用Numpy?
这个问题的变种已经有人问过了,但大家的回答总是从头开始(也就是从安装numpy开始)。
我之前已经在电脑上安装了numpy,是通过下载Anaconda时一起装上的。
如果我再用 pip install numpy
来安装numpy,就会出现一大堆错误信息,最后的内容看起来像这样:
Command C:\Python27\python.exe -c "import setuptools, tokenize;__file__='c:\\users\\imray~1\\appdata\\local\\temp\\pip_build_Imray\\numpy\\setu
p.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\imray~1\appd
ata\local\temp\pip-smduhf-record\install-record.txt --single-version-externally-managed --compile failed with error code 1 in c:\users\imray~1\appdat
a\local\temp\pip_build_Imray\numpy
Storing debug log for failure in C:\Users\Imray\pip\pip.log
在我从 Anaconda
文件夹里打开 cmd
,然后输入 import numpy
时,numpy可以正常工作。但如果我在IDLE里,即使我通过 os.chdir('C:\Anaconda')
进入了那个文件夹,输入同样的命令,numpy却不工作。
我该怎么才能让numpy在IDLE里也能用呢?
1 个回答
首先,你可能已经知道,Anaconda自带一个免费的IDE,跟IDLE有很多相似之处。这个IDE叫做Spyder,你可以在任何终端里通过输入:spyder
来访问它。到这里你可以选择不再继续阅读,直接使用Spyder。
但如果你真的想用IDLE,你需要先找到它。IDLE是和你系统上安装的每个Python版本一起打包的。例如,我在以下位置找到了我的IDLE:
/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/idlelib/idle.pyw
如果我运行这个IDLE对应的Python版本,我就无法使用NumPy,因为我在这个版本里从来没有安装过它:
python3
...
>>> import numpy as np
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'numpy'
不过,我在我的Canopy版本的Python里安装了NumPy(Canopy和Anaconda非常相似)。
python
...
>>> import numpy as np
>>>
为了在控制台中使用NumPy,我可以这样做:
python /usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/idlelib/idle.pyw
我在运行Canopy版本的Python,它已经安装了NumPy,然后像运行任何脚本一样调用另一个Python版本的IDLE。这样IDLE控制台就会弹出来,并且可以让我导入和使用NumPy。
这算是一种变通的方法,我发现效果有时好有时坏。当我用Canopy的Python打开另一个Python版本的IDLE(通过Homebrew安装的Python 2.7)时,有时在使用print
语句时会遇到以下错误:
Unknown object id: 'console'
所以要注意,你可能会遇到这样的情况。