我对python安装完全陌生,并在OSX 10.6 32位上使用了python 2.7.6的Enthought Canopy发行版
我让笔记本顺利地工作,以及Canopy界面内的一切。但是,当我运行相同的脚本时:
#!/usr/bin/python
import pylab
import numpy as np
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()
在命令行中使用' python ~/Docs/test.py
'或' ipython ~/Docs/test.py
',我得到这个错误:
This program needs access to the screen.
Please run with 'pythonw', not 'python', and only when you are logged
in on the main display of your Mac.
我在这里搜索并找到了一些信息,但由于它在Canopy, pythonw和notebook中起作用,我不确定这是我问题的答案。我只是不明白为什么在命令行中python和ipython会有不同的后门。我说的对吗?
另外,使用自制软件安装会解决这个问题吗?我喜欢能够使用树冠gui,但似乎一旦树冠安装它改变了一切。我之所以问这个问题,是因为我很快就会得到一台新的mac电脑,并且在这里找到了相当精简的安装程序和虚拟环境设置指南。但是我仍然想把Canopy GUI作为一个选项。
提前感谢。
编辑:好了,python notebook给出了同样的错误。我关闭并重新启动它。这是因为我调用了%pylab inline
。我没有在每次运行后清除内存
你可以这样写:
ipython --pylab=osx
和
ipython notebook --pylab=osx
作为获得这两个图形的变通方法。这里的文档:https://support.enthought.com/entries/22861925-OS-X-10-9-Mavericks-Python-Canopy
有谁知道如何将其设置为默认值吗?
虽然使用%pylab inline
是你想要的,如果你想保持所有的图形在python笔记本。选择osx将打开浏览器之外的窗口。所以你可以写ipython notebook --pylab=inline
来调用这个