我试图在Ubuntu 14中执行kivy 1.9.1示例。
从命令行运行示例给了我错误:
ImportError: No module named _clock
从git下载kivy源代码,并检查virtualenv目录中已安装的软件包,我发现venvs / kivyinstall / lib / python2.7 / site-packages / kivy文件夹中缺少_clock.so文件。
所以,我进入kivy_sorce / kivy文件夹,并创建一个简单的setup.py来执行cython以获得de .so编译版本:
from distutils.core import setup
from Cython.Build import cythonize
setup(
name = 'clock',
ext_modules = cythonize("_clock.pyx"),
)
和
python setup.py build_ext --inplace
然后我将生成的.so文件复制到我的虚拟环境中的预期文件夹venvs / kivyinstall / lib / python2.7 / site-packages / kivy。
现在,示例从命令行(激活虚拟环境)运行,
python examples/demo/pictures/main.py
它也可以从pycharm的python控制台(我通常配置为python解释器,来自我的kivy-install venv的python可执行文件)中正常运行,执行此操作:
import subprocess
subprocess.call(['python', 'examples/demo/pictures/main.py'])
Pycharm似乎找到了包导致kivy._clock导入不再显示为红色,但如果我直接从pycharm执行该示例(ctrl + shift + F10),它会一直询问缺少的kivy._clock模块。 / p>
有关为什么pycharm仍无法找到模块的任何提示?
答案 0 :(得分:1)
我尝试将kivy和examples文件夹标记为“Sources”,如建议的那样 here
但它没有用,最后,在运行 - >中运行配置时,取消选中“将源根添加到PYTHONPATH ”选项编辑配置菜单就可以了。
希望它可以帮助别人。
答案 1 :(得分:0)
当PyCharm的内部缓存与磁盘上的内容不同步时,有时会发生这种情况。
它通常会自行更正,但您可以从文件→强制缓存/重新启动...