Windows下Python3安装Turtle报错及解决方案


Turtle安装

在Windows下Python3安装会提示如下报错:

Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
Collecting turtle
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/ff/f0/21a42e9e424d24bdd0e509d5ed3c7dfb8f47d962d9c044dba903b0b4a26f/turtle-0.0.2.tar.gz (11 kB)

    ERROR: Command errored out with exit status 1:
     command: 'D:\Programs\Python\Python37\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Yankee\\AppData\\Local\\Temp\\pycharm-packaging\\turtle\\setup.py'"'"'; __file__='"'"'C:\\Users\\Yankee\\AppData\\Local\\Temp\\pycharm-packaging\\turtle\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Yankee\AppData\Local\Temp\pycharm-packaging\turtle\pip-egg-info'
         cwd: C:\Users\Yankee\AppData\Local\Temp\pycharm-packaging\turtle\
    Complete output (6 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\Yankee\AppData\Local\Temp\pycharm-packaging\turtle\setup.py", line 40
        except ValueError, ve:
                         ^
    SyntaxError: invalid syntax
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
WARNING: You are using pip version 20.0.2; however, version 20.1.1 is available.
You should consider upgrading via the 'D:\Programs\Python\Python37\python.exe -m pip install --upgrade pip' command.

解决方案

根据自己的错误提示中的位置下载turtle-0.0.2.tar.gz包,比如我的是https://pypi.tuna.tsinghua.edu.cn/packages/ff/f0/21a42e9e424d24bdd0e509d5ed3c7dfb8f47d962d9c044dba903b0b4a26f/turtle-0.0.2.tar.gz,下载好之后解压,修改其中的的setup.py文件第40行

  • 原代码
def pluginModules(moduleNames):
    from twisted.python.reflect import namedAny
    for moduleName in moduleNames:
        try:
            yield namedAny(moduleName)
        except ImportError:
            pass
        except ValueError, ve:
            if ve.args[0] != 'Empty module name':
                traceback.print_exc()
        except:
            traceback.print_exc()
  • 修改后的代码
def pluginModules(moduleNames):
    from twisted.python.reflect import namedAny
    for moduleName in moduleNames:
        try:
            yield namedAny(moduleName)
        except ImportError:
            pass
        except (ValueError, ve):
            if ve.args[0] != 'Empty module name':
                traceback.print_exc()
        except:
            traceback.print_exc()

原因分析

其实造成这个错误的原因是因为Python2中的语法可以没有括号,但是在Python3中如果没有括号就会报错,所以添加括号后就可以使用pip install 文件路径安装了。

修改后安装

打开cmd执行pip install 文件路径,比如我的位置就是pip install G:\Desktop\turtle-0.0.2,之后等待安装结束就可以正常使用了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM