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

 然後問題就完美解決了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章