New Kivy安装:AttributeError:'module'对象没有属性'require'

时间:2017-05-10 15:30:45

标签: python windows kivy spyder

kivy 1.10.0,python 3.4.5,windows 10,使用Anaconda的Spyder IDE

在尝试在我的Windows 10计算机上安装kivy之后遇到了很多麻烦,我能够......有点儿。我将python降级到最新支持的版本。

我输入kivy的股票代码以确保它正常运作:

import kivy
kivy.require('1.0.6') # replace with your current kivy version !

from kivy.app import App
from kivy.uix.label import Label


class MyApp(App):

    def build(self):
        return Label(text='Hello world')


if __name__ == '__main__':
    MyApp().run()

将我的版本更改为1.10.0。但我得到了以下错误并追溯:

  

追踪(最近一次呼叫最后一次):

     

文件“< ipython-input-6-498c1728e978>”,第1行,in       runfile('C:/Users/Andrew/Documents/Programming/Kivvv/UsageExample.py',wdir ='C:/ Users / Andrew / Documents / Programming / Kivvv')

     

文件“C:\ Users \ Andrew \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py”,第866行,在runfile中       execfile(filename,namespace)

     

文件“C:\ Users \ Andrew \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py”,第102行,在execfile中       exec(compile(f.read(),filename,'e​​xec'),namespace)

     

文件“C:/Users/Andrew/Documents/Programming/Kivvv/UsageExample.py”,第12行,in       kivy.require('1.10.0')#替换你当前的kivy版本!

     

AttributeError:'module'对象没有属性'require'

还跑了

print(dir(kivy))

返回此列表:

  

[' doc ',' loader ','名称','','< strong>路径','规范']

我的猜测是kivy没有正确安装,但我安装它有很多麻烦,我不想重新安装它,直到这显然是下一个最好的选择。

此外,如果它有帮助,当在kivy网站上运行kivy安装过程时,即使每个步骤成功完成,有几个步骤也会返回关于“splitlines”的错误 -

  

例外:

     

追踪(最近一次呼叫最后一次):

     

文件“C:\ Users \ Andrew \ Anaconda3 \ lib \ site-packages \ pip \ basecommand.py”,第215行,主要

status = self.run(options, args)
     

文件“C:\ Users \ Andrew \ Anaconda3 \ lib \ site-packages \ pip \ commands \ install.py”,第335行,在运行中

wb.build(autobuilding=True)
     

文件“C:\ Users \ Andrew \ Anaconda3 \ lib \ site-packages \ pip \ wheel.py”,第749行,在构建中

self.requirement_set.prepare_files(self.finder)
     

文件“C:\ Users \ Andrew \ Anaconda3 \ lib \ site-packages \ pip \ req \ req_set.py”,第380行,在prepare_files中

ignore_dependencies=self.ignore_dependencies))
     

文件“C:\ Users \ Andrew \ Anaconda3 \ lib \ site-packages \ pip \ req \ req_set.py”,第666行,在_prepare_file中

check_dist_requires_python(dist)
     

文件“C:\ Users \ Andrew \ Anaconda3 \ lib \ site-packages \ pip \ utils \ packaging.py”,第48行,在check_dist_requires_python中

feed_parser.feed(metadata)
     

文件“C:\ Users \ Andrew \ Anaconda3 \ lib \ email \ feedparser.py”,第177行,在Feed中

self._input.push(data)
     

文件“C:\ Users \ Andrew \ Anaconda3 \ lib \ email \ feedparser.py”,第100行,推送

parts = data.splitlines(True)
     

AttributeError:'NoneType'对象没有属性'splitlines'

不确定它是否有所作为,但我决定将其包含在内,以防万一它是一个很好的线索。

非常感谢!!!

更新,5-12-17:

我继续尝试将程序粘贴在记事本中并从那里运行,但是我得到了同样的错误信息。

然后我做了

python -m pip list 
在PowerShell中

,并且没有弹出这些:

Kivy (1.10.0)
Kivy-Garden (0.1.4)
kivy.deps.angle (0.1.4)
kivy.deps.glew (0.1.9)
kivy.deps.sdl2 (0.1.17)

看起来kivy毕竟没有安装。在尝试再次运行安装后,这是我的计算机向我发射的内容:

PS C:\Users\Andrew> python -m pip install kivy
Collecting kivy
  Using cached Kivy-1.10.0-cp34-cp34m-win_amd64.whl
Collecting Kivy-Garden>=0.1.4 (from kivy)
  Using cached kivy-garden-0.1.4.tar.gz
Requirement already satisfied: docutils in 
c:\users\andrew\anaconda3\lib\site-packages (from kivy)
Requirement already satisfied: pygments in 
c:\users\andrew\anaconda3\lib\site-packages (from kivy)
Exception:
Traceback (most recent call last):
  File "C:\Users\Andrew\Anaconda3\lib\site-packages\pip\basecommand.py", 
line 215, in main
    status = self.run(options, args)
  File "C:\Users\Andrew\Anaconda3\lib\site-
packages\pip\commands\install.py", line 335, in run
    wb.build(autobuilding=True)
  File "C:\Users\Andrew\Anaconda3\lib\site-packages\pip\wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "C:\Users\Andrew\Anaconda3\lib\site-packages\pip\req\req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "C:\Users\Andrew\Anaconda3\lib\site-packages\pip\req\req_set.py", line 666, in _prepare_file
    check_dist_requires_python(dist)
  File "C:\Users\Andrew\Anaconda3\lib\site-packages\pip\utils\packaging.py", line 48, in check_dist_requires_python
    feed_parser.feed(metadata)
  File "C:\Users\Andrew\Anaconda3\lib\email\feedparser.py", line 177, in feed
    self._input.push(data)
  File "C:\Users\Andrew\Anaconda3\lib\email\feedparser.py", line 100, in push
    parts = data.splitlines(True)
AttributeError: 'NoneType' object has no attribute 'splitlines'

由于我没有收到“kivy installed”消息,因此看起来这个“splitlines”属性错误阻止了安装完成。知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

所以我觉得你的问题更可能出现在ide上。事实上,如果我是一个博彩人,我会赌我所拥有的一切,你的IDE就是问题。

请仔细阅读我的回答并尝试我发布的两个脚本。您现在需要做的最重要的事情是将python代码粘贴到记事本中并通过命令行运行它。

如果有效,你知道你的问题是什么。如果它没有尝试我在下面列出的所有步骤。您的ide很可能指向错误的路径或类似的东西。

请尝试以下方法。

第1步:

python -m pip list 

找到您的kivy安装并验证它及其版本。你应该看到像

这样的东西
Kivy (1.10.0)
Kivy-Garden (0.1.4)
kivy.deps.angle (0.1.4)
kivy.deps.glew (0.1.9)
kivy.deps.sdl2 (0.1.17)

如果你看到那些东西,请复制粘贴以下示例并尝试运行它。

第2步:脚本

import kivy


from kivy.app import App
from kivy.uix.label import Label


class MyApp(App):
    def build(self):
        return Label(text='Hello world')


if __name__ == '__main__':
    MyApp().run()

如果你得到同样的错误。

尝试以下方法     python -m pip show kivy

您应该看到类似

的内容
Name: Kivy
Version: 1.10.0
Summary: A software library for rapid development of hardware-accelerated 
multitouch applications.
Home-page: http://kivy.org
Author: Kivy Team and other contributors
Author-email: kivy-dev@googlegroups.com
License: MIT
Location: c:\python36-32\lib\site-packages
Requires: pygments, Kivy-Garden, docutils

如果您看到这一点,即使您没有运行以下命令

python -m pip check kivy

这将告诉您是否已满足kivy所需的所有依赖项。如果没有通过并安装它们。

根据我目前掌握的最新信息,我可以帮助您解决问题,因此我的最后建议是作为最后的手段。

python -m pip uninstall kivy
python -m pip install kivy==1.10.0

更新: 我从来没有使用过电源外壳,所以我不知道它是如何运作的。尝试使用命令promot。您也在使用Anacondas IDE但是您是否也在使用Anaconda Python?如果是这样,某些命令会有所不同,您必须绕过它并使用官方工具。确保它不是兼容性问题。 https://docs.continuum.io/anaconda/faq

从我在错误代码中看到的你的kivy安装就可以了。这意味着它与蜘蛛直接相关。

答案 1 :(得分:1)

由于文件名的缘故,您正在保存名为“ kivy.py”的文件,这反过来与kivy核心软件包矛盾,因此显示错误。尝试重命名该文件,希望对您有所帮助。