2

我对 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 会有不同的后门。我说对了吗?

另外,使用自制软件安装可以解决这个问题吗?我喜欢能够使用 canopy gui,但似乎一旦安装了 canopy,它就会改变一切。我问这个是因为我很快就会得到一个新的 mac,并且在这里找到了更加简化的安装过程虚拟环境设置指南。但我仍然希望有 Canopy GUI 作为选项。

先感谢您。

编辑:

好吧,ipython notebook 给出了同样的错误。我关闭并重新启动它。这是因为我调用了%pylab inline. 每次运行后我都没有清除内存。

4

1 回答 1

2

你可以写:

ipython --pylab=osx

ipython notebook --pylab=osx

作为获取这两个图形的解决方法。此处的文档:https: //support.enthought.com/entries/22861925-OS-X-10-9-Mavericks-Python-Canopy

任何人都知道如何将其设置为默认值?

%pylab inline如果您想将所有图形保留在 ipython 笔记本中,尽管使用是您想要的。选择 osx 将在浏览器之外打开窗口。所以你可以写ipython notebook --pylab=inline来调用它。

于 2014-05-27T23:23:38.833 回答