Study:解决PyCharm中turtle模块无法使用的问题

turtle:一个基于 Tkinter 的 Python turtle 图形模块。官方文档解释为:“ turtle 图形是向孩子们介绍编程的一种流行方式。它是 Wally Feurzeig 、Seymour Papert 和 Cynthia Solomon 在 1967 年开发的原始徽标编程语言的一部分。”

但是在 PyCharm 中由于存在冲突,导致正常 import 的 turtle 无法使用,这里,介绍在 Ubuntu 系统中解决该问题的方法。

目录

一、原因

二、解决


一、原因

PyCharm 和 turtle 库有冲突,不能自己识别出 turtle 中的方法。

二、解决

1. 导入模块

# 导入模块
import turtle

2. 鼠标放置在 turtle 上,同时按住 Ctrl 键,出现如下图1 所示消息,鼠标点击 turtle ,进入 turtle.py 文件

图1:Ctrl + 鼠标

3. 进入 turtle.py 文件后,使用快捷键 Ctrl + R 查找 “__all__”字符串,这里记录了该模块可使用的全部方法

__all__ = (_tg_classes + _tg_screen_functions + _tg_turtle_functions +
           _tg_utilities + ['Terminator']) # + _math_functions)

问题就出在这里,解决方法就是将这部分代码替换为以下内容:

__all__ = ['ScrolledCanvas', 'TurtleScreen', 'Screen', 'RawTurtle', 'Turtle', 'RawPen', 'Pen', 'Shape', 'Vec2D', 'back',
           'backward', 'begin_fill', 'begin_poly', 'bk', 'addshape', 'bgcolor', 'bgpic', 'bye', 'clearscreen',
           'colormode', 'delay', 'exitonclick', 'getcanvas', 'getshapes', 'listen', 'mainloop', 'mode', 'numinput',
           'onkey', 'onkeypress', 'onkeyrelease', 'onscreenclick', 'ontimer', 'register_shape', 'resetscreen',
           'screensize', 'setup', 'Terminator', 'setworldcoordinates', 'textinput', 'title', 'tracer', 'turtles',
           'update', 'window_height', 'window_width', 'write_docstringdict', 'done', 'circle', 'clear', 'clearstamp',
           'clearstamps', 'clone', 'color', 'degrees', 'distance', 'dot', 'down', 'end_fill', 'end_poly', 'fd',
           'fillcolor', 'filling', 'forward', 'get_poly', 'getpen', 'getscreen', 'get_shapepoly', 'getturtle', 'goto',
           'heading', 'hideturtle', 'home', 'ht', 'isdown', 'isvisible', 'left', 'lt', 'onclick', 'ondrag', 'onrelease',
           'pd', 'pen', 'pencolor', 'pendown', 'pensize', 'penup', 'pos', 'position', 'pu', 'radians', 'right', 'reset',
           'resizemode', 'rt', 'seth', 'setheading', 'setpos', 'setposition', 'settiltangle', 'setundobuffer', 'setx',
           'sety', 'shape', 'shapesize', 'shapetransform', 'shearfactor', 'showturtle', 'speed', 'st', 'stamp', 'tilt',
           'tiltangle', 'towards', 'turtlesize', 'undo', 'undobufferentries', 'up', 'width', 'write', 'xcor', 'ycor']

 这里包含直接用 list 的方式穷举了 turtle 模块可使用的全部方法。但是在试图修改代码过程中,会遇到显示文件不可修改提示,这时我们需要在系统中找到对应文件进行修改。

4. 如下图2 中,鼠标右击 turtle.py ,选择 Cope path... 命令

图2:absolute path

5.  找到该文件,并将其复制到主目录文件夹下(~$),修改属性权限,如下图3 

图3:修改权限

6. 按 3. 说明修改文件,并保存,然后执行如下命令,调用管理员权限将修改后的文件放回到原来位置

~$ sudo mv turtle.py /usr/lib/python3.6

 然后问题就完美解决了。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值