用atom模块导入错误

时间:2015-06-09 19:10:21

标签: python python-2.7 gdata

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。我使用的是Python 2.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

我还尝试导入整个原子模块。

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

有效。出了什么问题?

4 个答案:

答案 0 :(得分:2)

我在尝试安装时遇到了同样的麻烦(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文件

  4. 我找到了解决方案here

答案 1 :(得分:0)

听起来模块有错误或者你错过了一些文件。根据{{​​3}},我会怀疑后者。

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

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

答案 2 :(得分:0)

这对我有用。如果我有选择的话,我不会解决这个问题,但确实有效!

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

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

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

这似乎有效,因为我在这些点上没有任何错误。现在我意识到在上面的两个实例中,import语句试图从atom包中导入模块作为atom.module。然后我继续将上述文件中使用atom.module的所有实例更改为module。代码运行正常。

答案 3 :(得分:0)

如果您使用pip安装了atom并尝试使用pip uninstall卸载它并且它不起作用。然后使用sudo rm -rf <path_to_atom>手动删除它,然后使用sudo python setup.py install重新安装gdata-python-client