Несколько исходных строк в .bashrc, похоже, переопределяют друг друга

У меня есть два пакета с именами pkg1 и pkg2. Пакет pkg1 является частью рабочего пространства с меткой abc в /home/csbales, а пакет pkg2 является частью рабочего пространства с меткой catkin_ws в /home/csbales. Чтобы обеспечить их и ROS, который они используют, я добавил следующие три строки в .bashrc:

source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
source ~/abc/build/devel/setup.bash

Я запускаю Pycharm Community из свежего терминала, с pkg2 в качестве папки проекта (~/catkin_ws/src/pkg2). Я хочу запустить скрипт python, который импортирует из обоих пакетов, начиная примерно так:

#!/usr/bin/env python
import sys
# from os import sys, path
# sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))
from pkg2 import Thing2
from pkg1 import Thing1

Когда я запускаю скрипт python, я получаю следующую ошибку:

ModuleNotFoundError: No module named 'pkg2'

Чтобы проверить, распознается ли, по крайней мере, pkg1, я меняю порядок строк pkg и получаю ту же ошибку, что и раньше. Затем я открываю новый терминал, прямо указываю источник pkg2 с

source ~/catkin_ws/devel/setup.bash

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

ModuleNotFoundError: No module named 'pkg1'

Я поменял строки импорта так, чтобы pkg1 шел после pkg2, и запустил его снова, но получил ошибку с pkg1. Импорт pkg2 теперь работает как надо, но pkg1 не работает, как раньше. Я пробовал менять строки в .bashrc, а затем открывать Pycharm, но пакет, который был выбран не последним, всегда вызывал ModuleNotFoundError, независимо от комбинации выбора источника через терминал или в .bashrc.

Я пробовал переделать каждое рабочее пространство. Я пробовал удалять и клонировать их снова. Ничего из этого не помогло. Я не могу объединить их. Чтобы проверить, я попробовал переместить строку с исходным кодом ROS в .bashrc и обнаружил, что ее размещение никак не влияет на описанное выше поведение. ROS работал независимо от этого. Я не знаю, куда двигаться дальше, и буду очень признателен за любой вклад.

Возможно, релевантная информация:

  • Ubuntu 18.04
  • Использование Terminator
  • Pycharm Community
  • Python 3.6
1
задан 10 November 2020 в 08:31

0 ответов

Другие вопросы по тегам:

Похожие вопросы: