Nano Hash - криптовалюты, майнинг, программирование

Глобальное имя «paramiko» не определено при использовании модуля в web2py

Я запускаю исходную версию web2py с виртуальной машины Ubuntu и Python 2.7. Я пытаюсь использовать библиотеку Paramiko для функциональности SSH, но следующий код выдает эту ошибку:

Код

from paramiko import client

Ошибка

Traceback (most recent call last):
  File "/home/localadmin/scanme/gluon/restricted.py", line 227, in restricted
    exec ccode in environment
  File "/home/localadmin/scanme/applications/nmap/controllers/default.py", line 418, in <module>
  File "/home/localadmin/scanme/gluon/globals.py", line 417, in <lambda>
    self._caller = lambda f: f()
  File "/home/localadmin/scanme/applications/nmap/controllers/default.py", line 50, in login
    except paramiko.ssh_exception.AuthenticationException:
NameError: global name 'paramiko' is not defined

Что меня смущает, так это то, что импорт и использование библиотеки paramiko отлично работает в моей системе, когда я запускаю Python вне web2py.

Я думал, что все модули, доступные в моей локальной установке Python, должны были быть доступны в web2py при использовании исходной версии. Вот как я запустил веб-сервер из командной строки:

python2.7 web2py.py

Кто-нибудь знает, что может быть причиной этой проблемы? Стоит отметить, что я не нашел каталог «paramiko» в своей системе после установки библиотеки, как это было с другими модулями, работающими в web2py.


Ответы:


1

Ваш оператор импорта:

from paramiko import client

Но в вашем коде у вас есть:

except paramiko.ssh_exception.AuthenticationException

Чтобы сослаться на paramiko, вы должны импортировать его:

import paramiko
29.06.2016
  • Я попробовал это, и теперь ошибка возникает в этой строке: session.connection = ssh(credentials.vars.host_address, credentials.vars.username, credentials.vars.password) и говорит ‹type 'exceptions.NameError'› глобальное имя 'ssh' не определено 30.06.2016
  • Ничего, я разобрался с проблемой. Я не осознавал, что когда я скопировал скрипт с моей локальной машины в web2py, я не скопировал ту часть, где я определил класс ssh. Спасибо! 30.06.2016
  • Новые материалы

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

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..