AttributeError: модуль 're' не имеет атрибута 'IGNORECASE' ... только в сборке pyenv - PullRequest
0 голосов
/ 04 июля 2019

На моем Mac OSX pyenv python 3.7.3 простой базовый конвертер завершается неудачно с

  File "/Users/geo/.pyenv/versions/3.7.3/lib/python3.7/string.py", line 88, in Template
    flags = _re.IGNORECASE

тот же код работает с brew 3.7.3

переустановил pyenv 3.7.3 и сравнил 3.7.3 / lib / python3.7 / string.py (они одинаковые), вот программа

import sys
import string

digs = string.digits + string.ascii_letters

def d2b(x, b):
    if x < 0:
        sign = -1
    elif x == 0:
        return digs[0]
    else:
        sign = 1
    x *= sign
    digits = []
    while x:
        digits.append(digs[int(x % b)])
        x = int(x / b)
    if sign < 0:
        digits.append('-')
    digits.reverse()
    return ''.join(digits)

print(d2b(int(sys.argv[1]),int(sys.argv[2])))

Вот успех и неудачный вызов ...

 /usr/local/bin/python3 lang/py/d2b.py 17 16
11
 /Users/geo/.pyenv/versions/3.7.3/bin/python3.7 lang/py/d2b.py 17 16
0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,Traceback (most recent call last):
  File "lang/py/d2b.py", line 3, in <module>
    import string
  File "/Users/geo/.pyenv/versions/3.7.3/lib/python3.7/string.py", line 78, in <module>
    class Template(metaclass=_TemplateMetaclass):
  File "/Users/geo/.pyenv/versions/3.7.3/lib/python3.7/string.py", line 88, in Template
    flags = _re.IGNORECASE
AttributeError: module 're' has no attribute 'IGNORECASE'

Спасибо за любые советы о том, где искать дальше!

...