Модуль Python не может найти атрибут, происходит сбой с ошибкой атрибута - неустойчивая проблема - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь установить и запустить утилиту py-3parencrytor на Ubuntu 16.04.Тем не менее, я получаю ошибки импорта на некоторых установках.Я не уверен, почему он работает в некоторых системах, но не работает в других.Пожалуйста, найдите ошибку ниже:

stack@cssosbe04-b04:~/farhan/workspace/python-hpedockerplugin/ansible_3par_docker_plugin$ hpe3parencryptor
Traceback (most recent call last):
  File "/usr/local/bin/hpe3parencryptor", line 11, in <module>
    load_entry_point('py-3parencryptor==1.0.7', 'console_scripts', 'hpe3parencryptor')()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 479, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2703, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2321, in load
    return self.resolve()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2331, in resolve
    raise ImportError(str(exc))
ImportError: 'module' object has no attribute 'encryption_utility'

Я также вижу файл hpe3parencryptor в / usr / local / bin, другой в случае успешной и неудачной установки

При успешной установке, файл pythonсоздан следующим образом:

#!/usr/bin/python

# -*- coding: utf-8 -*-
import re
import sys

from hpe3parencryptor import encryption_utility

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(encryption_utility())

При неудачной установке (сбой) содержимое файла отличается:

#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'py-3parencryptor==1.0.7','console_scripts','hpe3parencryptor'
__requires__ = 'py-3parencryptor==1.0.7'
import re
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(
        load_entry_point('py-3parencryptor==1.0.7', 'console_scripts', 'hpe3parencryptor')()
    )

Я пробовал несколько вещей, но не смог выяснить, чтовызывая это поведение.В некоторых случаях переустановка устраняла проблему, но не всегда.

Любая помощь с благодарностью.

Заранее спасибо!

...