Answer a question

I am trying to import pyping for Python 3 but I am getting below error:

virt01@virt01:~/Python_Admin$ python3
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyping
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/dist-packages/pyping/__init__.py", line 3, in <module>
    from core import *
ImportError: No module named 'core'
>>>

Update 1

virt01@virt01:~/Python_Admin$ ls /usr/local/lib/python3.4/dist-packages/pyping/
core.py  __init__.py  __pycache__

Answers

This is because of absolute imports being in effect (more precisely, the lack of implicit relative imports) for Python 3 and the fact that the pyping module was most likely only written for Python 2. Whereas in Python 2 you can do:

from core import *

In Python 3 (or if you have from __future__ import absolute_import in Python 2), you have to do:

from .core import *

or

from pyping.core import *

You have two options:

  1. ask the module author to make it compatible with Python 3
  2. fork it yourself and make it compatible with Python 3 (you can look into using 2to3 for this)
Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐