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

Почему я не могу импортировать python-rosbag в Google Colab?

Я пытаюсь использовать Google Colab для запуска https://github.com/ARiSE-Lab/deepTest программное обеспечение глубокой нейронной сети, разработанное на Ubuntu. Мне удалось запустить install.sh с небольшими изменениями. После добавления символа "!" Загрузка прошла успешно:

! sudo apt-get install python-rosbag! sudo apt-get install python-genmsg! sudo apt-get install python-genpy! sudo apt-get install python-rosgraph-msgs1 Это установило много файлов, включая:

Setting up python-rosbag (1.13.5+ds1-3) ...

Однако, когда я запустил программу generate_hmb3.py, вторая строка которой:

import rosbag

Я получил сообщение об ошибке недопустимого синтаксиса. Когда я изменил строку на:

import python-rosbag

Я получил сообщение:

  File "<ipython-input-12-37a7e266f3af>", line 7
import python-rosbag
             ^
SyntaxError: invalid syntax

Какие решения этой проблемы?


  • Есть предложения @AntonMatosov? @Anton Matosov 29.06.2019
  • Идеи @Lahiru Karunaratne? 29.06.2019
  • Есть идеи @ fet.atas? 29.06.2019
  • Есть идеи @Danf? 02.07.2019
  • Если вы хотите узнать, куда идет ваша установка, просто попробуйте, например: find / -name "*rosbag*". Однако кажется, что вы, возможно, установили свою установку ROS в какую-то виртуальную среду? Просто установите ROS из терминала, как описано здесь, или в среду, в которой ваш питон может Найди это 03.07.2019
  • Любая помощь @JeanNassar 24.07.2019
  • !python2.7 -c "import rosbag" работает, поэтому я предполагаю, что apt устанавливается с использованием неправильной версии python. Возможно, попробуйте этот пакет из ответа от @simbamford stackoverflow.com / questions / 59794328 / 02.09.2020

Ответы:


1

Проблема с импортом

Убедитесь, что у вас установлен путь к Python, что нужно сделать с помощью команды source. . Вы можете легко проверить правильный путь через

echo $PYTHONPATH
# which gives me
/opt/ros/kinetic/lib/python2.7/dist-packages

Импорт модулей с тире:

В именах импорта Python нельзя использовать тире (ref). И нет никакого стандартного модуля под названием python-rosbag. Насколько я знаю, есть только rosbag. Если это ваш собственный написанный модуль, вы можете сделать это с помощью __import__(). Например:

foobar = __import__("foo-bar")

Но вместо этого вам действительно следует переименовать модуль.

01.07.2019
  • Спасибо @ Tik0. Я сделал следующее: 24.07.2019
  • Спасибо @ Tik0. Я сделал следующее:! какой питон. и получил: / usr / local / bin / python. Тогда я спросил:! python - версия Python 2.7.15+. Тогда я спросил:! Find / -name rosbag. И у меня их много, в том числе: /usr/lib/python2.7/dist-packages/rosbag /usr/lib/python2.7/dist-packages/rosbag/rosbag_main.py /usr/lib/python2.7/dist- пакеты / rosbag / rosbag_main.pyc 24.07.2019

  • 2

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

    На самом деле я не мог заставить его работать должным образом, но с помощью https://github.com/event-driven-robotics/importRosbag работал у меня.

    * Например, добавление путей из python2.7 и возня с importlib и imp. Не удалось заставить его работать; Я получаю сообщение об ошибке AttributeError: module 'rospy' has no attribute 'names'

    02.09.2020
    Новые материалы

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

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

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

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

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

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

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