web-dev-qa-db-ja.com

Python 3)にpypingを使用する場合、「core」という名前のモジュールはありません

Python 3のpypingをインポートしようとしていますが、以下のエラーが発生します:

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'
>>>

更新1

virt01@virt01:~/Python_Admin$ ls /usr/local/lib/python3.4/dist-packages/pyping/
core.py  __init__.py  __pycache__
8
rɑːdʒɑ

これは、Python 3の絶対インポートが有効になっている(より正確には、暗黙の相対インポートがない)ためであり、pypingモジュールはおそらく次の目的でのみ記述されているためです。 Python 2. Python 2では、次のことができます。

from core import *

Python 3(または、Python 2)にfrom __future__ import absolute_importがある場合)では、次のことを行う必要があります。

from .core import *

または

from pyping.core import *

2つのオプションがあります。

  1. モジュールの作成者にPython 3と互換性を持たせるように依頼してください
  2. 自分でフォークして、Python 3と互換性を持たせます(これには2to3を使用して調べることができます)
8
univerio