没有名为';核心&x27;在pyping用于Python 3时

没有名为';核心&x27;在pyping用于Python 3时,python,python-3.x,python-import,Python,Python 3.x,Python Import,我正在尝试为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

我正在尝试为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'
>>>

这是因为Python3中存在绝对导入(更准确地说,是缺少隐式相对导入),而且
pyping
模块很可能只为Python2编写。而在Python 2中,您可以执行以下操作:

from core import *
在Python3中(或者如果在Python2中有来自未来导入绝对导入的
),则必须执行以下操作:

from .core import *

您有两个选择:

  • 要求模块作者使其与Python 3兼容
  • 自己动手制作并使其与Python3兼容(您可以考虑为此使用
    2to3

  • 你可以使用图书馆。但这是你机器上的根权限。显示了解决方法(允许在没有根目录的情况下使用ping的非特权ICMP套接字)。

    此生成日期是否默认为2015年10月14日20:28:29)?@bernie和其他解决方案?我试过谷歌,但找不到你能用ll或ls命令验证core.py是否在/usr/local/lib/python3.4/dist-packages/pyping/@goCards文件夹中吗?我已经更新了我的问题。请检查。谢谢,我会选择第二个选项。但要制作2to3,我需要获得模块作者的许可/批准吗?@Raja该项目的是GPLv2,这意味着您可以根据自己的喜好修改它,前提是,如果您出售或分发它,您需要在同一许可下提供(现在已修改)的源代码。请参阅.2to3不直接工作,并为Python3提供了两个解决方案。任何其他ideas@Raja没有别的办法了
    2to3
    不是一个完全自动化的解决方案。您必须调试代码并将其移植到Python3。
    from .core import *
    
    from pyping.core import *