导入图形Python时出错

Sne*_*urk 4 python macos graphics

我在控制台打字

from graphics import * 
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
from graphics import *
ImportError: No module named graphics
Run Code Online (Sandbox Code Playgroud)

小智 6

我认为你的问题来自于试图通过使用Macintosh的John Zelle 进行Python编程.

前4章很棒.但在第5章,我倾向于卡住,他介绍了对象.他这样做的方式很有趣.他创建了一个python模块,他称之为"graphics.py",您可以从他的网站上下载.

这个模块(我在下面附上了一个链接)是Zelle先生编写的一个python程序.它创建了用于制作非常简单的形状并习惯使用图形的基本概念的工具,它还可以作为引入对象的更实际的方式.

然而我很困惑,我花了一段时间才意识到"graphics.py"是Zelle先生创建的教学计划,而不是与MacPython捆绑在一起的东西.这种混淆源于这样一个事实,即第5章中的程序都以"导入图形"开头,这与第3章中每个程序开头的"导入数学"命令非常相似.

关键的区别在于"导入数学"导入了与MacPython捆绑在一起的标准数学库.但是"导入图形"是指John Zelle自己的"graphics.py"模块,您必须先下载并安装它.

我花了一段时间才弄明白......

然后,一旦我这样做,我去了他的网站,从这个网站复制了该程序:

http://mcsp.wartburg.edu/zelle/python/graphics.py

...进入IDLE然后将其保存为graphics.py

这是令人发狂的地方......

在Windows上,如果你只是将graphics.py文件放在与Python相同的文件夹中,它可以找到该文件并使用它没有问题.

这是本书所说的,这让我感到非常疯狂:

"要使用图形模块(graphics.py),您需要将此文件放在Python可以找到它的位置.>一种简单的方法是将它放在保存Python程序的同一文件夹中.在此文件夹中启动> Python也可以让您导入图形库以交互方式进行实验.或者,您可以将graphics.py文件放在系统范围的目录中,以便无论Python启动什么目录它都可以导入.用于放置> Python本地添加的标准目录是site-packages目录.在我的Windows安装中,文件夹的完整>路径是:

C:\ Python23\LIB \站点包

在我的Linux系统上,该文件位于:

/usr/local/bin/lib/python2.3/site-packages".

在Windows操作系统上,你所要做的就是去Python.org并下载Python for Windows并将那个graphics.py文件放在主文件夹中,然后繁荣,你是金色的,不是为了MACINTOSH !!!!

2年前,这是我完全卡住的地方,因为我不知道网站路径或目录; 我只是指着并点击; 我不知道Macintosh Aqua GUI下面的Unix系统.

如果你有一台Macintosh,这本书没有说明该怎么做,而且我碰壁了.

但是几周前我再次使用它时,那些目录对我来说更有意义,因为我花了春天和夏天玩指南来在我的Mac上使用UNIX命令shell.

所以我意识到我的问题与Tkinter无关,只是因为graphics.py需要在正确的目录中.我不能像在Windows机器上那样将它放在IDLE旁边的文件夹中.我需要找到正确的目录.

由于OSX是在UNIX基础上构建的,我认为文件路径可能与Linux相同.可悲的是,"用户"目录后面没有"本地","bin".但它在OSX中并不完全相同.

相反,您可以使用IDLE本身来找出它使用的路径目录.

你输入这个:

导入系统

print sys.path

和BOOM,它吐出一大堆目录,这样容易混淆

['','/ Users/jamesbarnard/Documents','/ Library/Frameworks/Pepy.framework/Version/2.7/lib/python27.zip','/ Library/Frameworks/Pict.framework/Version/2.7/lib/python2.7','/ Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin','/ Library/Frameworks/Cluster.framework/Version/2.7/lib/python2.7/plat-mac','/ Library/Frame /Python.framework/Version/1.7/lib/python2.7 /plat-make/lib -scriptpackages','/ Library/Frame /Python.framework/Version/2.7/lib/python2.7/lib-tk','/ Library/Frame /Python.framework/Version/1.7/lib/python2.7/lib-old','/ Library/Frame /Python.framework/Version/2.7/lib/python2.7/lib-dynload','/ Library/Frame /Python.framework/Version/7.7/lib/python2.7/site-package','/ Library /Python/2.7/site-package']

但是当我仔细观察时,我注意到了" site-packages " 目录,它看起来很像Linux和Windows命令行中的" site-packages ".所以我拿出了那个目录链

['','/ Users/jamesbarnard/Documents','/ Library/Frameworks/Pepy.framework/Version/2.7/lib/python27.zip','/ Library/Frameworks/Pict.framework/Version/2.7/lib/python2.7','/ Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin','/ Library/Frameworks/Cluster.framework/Version/2.7/lib/python2.7/plat-mac','/ Library/Frame /Python.framework/Version/1.7/lib/python2.7 /plat-make/lib -scriptpackages','/ Library/Frame /Python.framework/Version/2.7/lib/python2.7/lib-tk','/ Library/Frame /Python.framework/Version/1.7/lib/python2.7/lib-old','/ Library/Frame /Python.framework/Version/2.7/lib/python2.7/lib-dynload','/ Library/Frame /Python.framework/Version/7.7/lib/python2.7/site -package','/ Library /Python/2.7 / site -package ']

然后使用UNIX shell我跟着它,然后我在Aqua界面做了同样的事情.

在那里,在目录中隐藏了8个级别,在数百个其他文件中,我放置了我的graphics.py文件.

然后我回到IDLE,输入"import graphics"

它工作了!!

如果你有这个问题.我希望这个解决方案能让你省去我的头痛