atom modu的导入错误

2024-05-14 20:29:55 发布

您现在位置:Python中文网/ 问答频道 /正文

from __future__ import division
import sys, time, os.path, magic
import atom.data, gdata.client, gdata.docs.client, gdata.docs.data

完整的代码在http://planzero.org/blog/2012/04/13/uploading_any_file_to_google_docs_with_python

我在Ubuntu 14.04工作,开发virtualbox。我正在使用Python2.7.6。我已经用最新版本成功地安装了atom和gdata模块。但是在导入模块时,我的代码给出了以下错误。

Traceback (most recent call last):
  File "test14.py", line 16, in <module>
    import atom.data, gdata.client, gdata.docs.client, gdata.docs.data
  File "/usr/local/lib/python2.7/dist-packages/atom/data.py", line 24, in <module>
    import atom.core
ImportError: No module named core

我还尝试导入整个atom模块。

import atom, gdata.client, gdata.docs.client, gdata.docs.data

出现以下错误:

Traceback (most recent call last):
  File "test14.py", line 16, in <module>
    import atom, gdata.client, gdata.docs.client, gdata.docs.data
  File "/usr/local/lib/python2.7/dist-packages/gdata/client.py", line 35, in <module>
    import atom.client
  File "/usr/local/lib/python2.7/dist-packages/atom/client.py", line 27, in <module>
    import atom.http_core
ImportError: No module named http_core

core.py和http_core.py都位于/usr/local/lib/python2.7/dist packages/atom/。我试着直接导入这些模块

import atom.http_core, atom.core

成功了。那出什么事了?


Tags: 模块inpycoreimportclienthttpdocs
3条回答

听起来模块有错误,或者您丢失了一些文件。基于this我会怀疑后者。

如果您知道atom模块文件在哪里(可能在PYTHON_PATH的某个目录中),请检查是否有atom\core.py文件。如果没有,请检查安装说明(可能需要先运行某些脚本)或重新安装模块。

如果失败,您可以尝试注释掉atom.core导入,但很可能它是在atom.data中的某个地方使用的,您只会得到更多的错误。

我在尝试安装时遇到了同样的问题(Mac OSX 10.10.5,python 2.7.6版)。我做了如下的事情

  1. 卸载atom(pip Uninstall atom)并让gdata将其安装到其setup.py文件中

  2. pip install tlslite

  3. 运行gdata-python-client-master/tests/run_data_tests.py文件

我找到了解决办法here

这是对我有用的东西。如果我有选择的话,我不会去寻求解决方案,但它确实奏效了!

首先,我将atom和gdata目录从/usr/local/lib/python2.7/dist-packages复制到我的工作目录。我这样做是因为它使编辑任何文件更容易。Python首先在工作目录中查找导入模块。我获得了复制目录和文件的权限。另外,我把原件保留在原处。

接下来我编辑了atom中的data.py文件。我将import语句从import atom.core更改为import core

接下来我编辑了atom中的client.py文件。我将import语句从import atom.http_core更改为import http_core

这似乎是工作,因为我没有任何错误在这些点上了。现在我意识到,在上述两个实例中,import语句都试图从atom包内部将模块导入为atom.module。然后我把上面文件中使用atom.module的所有实例都改为module。代码运行良好。

相关问题 更多 >

    热门问题