2017-02-17 97 views
0

我使用Python 3.6在Windows上导入类,试图让安装这样我就可以用的MicroStrategy Web门户无法从安装有进口模块

我下载的互动py_mstr模块并通过运行安装在模块它是“setup.py”,它似乎已经正确地安装到C:... \ Python36-32 \ Lib \ site-packages

我可以正确导入模块,但是当我尝试导入类时,它返回一个错误

>>> import py_mstr 
>>> from py_mstr import MstrClient 
Traceback (most recent call last): 
    File "<pyshell#1>", line 1, in <module> 
    from py_mstr import MstrClient 
ImportError: cannot import name 'MstrClient' 

我检查和py_mstr definit伊利包含类“MstrClient”

我挖了一圈,发现该文件夹结构可能有一些用它做,但我不能弄清楚

Python35-32 
    ... 
    site-packages 
     ... 
     py_mstr 
      __init__.py 
      py_mstr.py 
      _pycahce__ 
       __init__.cpython-36.pyc 
       py_mstr.cpython-36.pyc 
+0

在py-mstr/__ init__.py或py-msgr/py_mstr.py中定义的文件是MstrClient定义的类。顺便说一下,这两个都是正确的吗? –

+0

文件夹名称应该是py_mstr,我只是在编辑中修复它。 – fudge

+0

好吧,但是,你的班级确实是在\ _ \ _init \ _ \ _。py中定义的吗? –

回答

0

这个包好像不支持Python 3.你也许可以用2to3来运行它,但如果这样做不行的话,你可能需要在Python 2上运行它。

具体的Python 3不兼容导致您的导入失败是py_mstr/__init__.py使用隐式的相对进口在py_mstr/py_mstr.py内容带来:

from py_mstr import * 

Python 3里将此解释为从py_mstr包导入*,而不是py_mstr.py_mstr子模块。可能还有其他不兼容性;我没有做彻底的检查。

+0

我明白了。我会用2.7来试试它,看它是否更好。 – fudge