ImportError: невозможно импортировать имя <lib>python 2.7 - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь запустить tox -e coverage в python2.7 для библиотеки ecdsa в Python.

Файл src/ecdsa/util.py выглядит так:

import os
import math
import sys
import binascii
from hashlib import sha256
from . import der
from .curves import orderlen

Однако при запуске tox -e coverage появляется следующая ошибка:

________________________________ ERROR collecting src/ecdsa/test_numbertheory.py _________________________________
/usr/lib/python2.7/dist-packages/py/_path/local.py:650: in pyimport
    __import__(modname)
src/ecdsa/__init__.py:1: in <module>
    from .keys import (
src/ecdsa/keys.py:62: in <module>
    from . import ecdsa
src/ecdsa/ecdsa.py:59: in <module>
    from .util import bit_length
src/ecdsa/util.py:9: in <module>
    from . import der
E   ImportError: cannot import name der

Какой правильный способ импортировать эти библиотеки в python2.7?

Обновление:

Итак, внутри src/ecdsa/ecdsa.py у меня есть следующее определение:

# NIST Curve P-192:
_p = 6277101735386680763835789423207666416083908700390324961279
_r = 6277101735386680763835789423176059013767194773182842284081
# s = 0x3045ae6fc8422f64ed579528d38120eae12196d5L
# c = 0x3099d2bbbfcb2538542dcd5fb078b6ef5f3d6fe2c745de65L
_b = 0x64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1
_Gx = 0x188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012
_Gy = 0x07192B95FFC8DA78631011ED6B24CDD573F977A11E794811

curve_192 = ellipticcurve.CurveFp(_p, -3, _b)
generator_192 = ellipticcurve.Point(curve_192, _Gx, _Gy, _r)

и внутри src/ecdsa/curves.py У меня есть:

import der
import ecdsa

Когда я бегу tox -e coverage Получаю следующую ошибку:

____________________________________ ERROR collecting src/ecdsa/test_ecdsa.py ____________________________________
/usr/lib/python2.7/dist-packages/py/_path/local.py:650: in pyimport
    __import__(modname)
src/ecdsa/__init__.py:1: in <module>
    from keys import (
src/ecdsa/keys.py:62: in <module>
    import ecdsa
src/ecdsa/ecdsa.py:59: in <module>
    from util import bit_length
src/ecdsa/util.py:10: in <module>
    from curves import orderlen
src/ecdsa/curves.py:36: in <module>
    ecdsa.curve_192,
E   AttributeError: 'module' object has no attribute 'curve_192'
...