Модули Python не распознаются Bash (Cygwin)

#python #bash #cygwin

#python #bash #cygwin

Вопрос:

Я пытаюсь запустить скрипт python в bash (с Cygwin в Windows 10), однако он не распознает такие модули, как Matplotlib. Например, если я хочу скомпилировать и запустить скрипт, я ввожу python text_reader.py его, и результат таков ModuleNotFoundError: No module named 'matplotlib' . Скрипт отлично работает в терминале CMD и в Pycharm, но не в BASH. Я считаю, что проблема в том, что путь интерпретаторов python отличается. Если да, то как я мог бы сделать пути интерпретаторов одинаковыми?

Ответ №1:

скорее всего, вам нужно его установить. вы пробовали.

pip install matplotlib

или

pip3 install matplotlib

Комментарии:

1. В терминале bash написано «требование уже выполнено». Matplotlib работает в целом. Это просто не работает в bash.

2. Думаю, это помогает отличить то, что вы здесь делаете. CMD — это командная строка Windows, где bash — это оболочка * nix. в чем вы используете bash?

3. Первоначально я запустил его в терминале CMD, написав команду bash. Но я также запускаю его в терминале Cygwin. Оба дают одинаковый результат для pip install matplotlib . Requirement already satisfied

4. Я думаю, что проблема, скорее всего, заключается в том, что интерпретатор python на Cygwin отличается от интерпретатора python на PyCharm. print(sys.path) дают разные результаты в Pycharm и Cygwin. И наиболее очевидно, что Python 3.6 используется в Cygwin, в то время как я использую Python 3.9. И когда он говорит Requirement already satisfied , он показывает путь, по которому установлен matplotlib, который также находится вдоль пути, по которому находится мой интерпретатор Python.

5. Необходимо предоставить более подробную информацию в следующий раз.

Ответ №2:

Я нашел решение. Мне пришлось изменить переменную среды PATH на мой интерпретатор python с помощью следующей команды BASH,

 $ export PATH="PATH TO PYTHON INTERPRETER"
 

и тогда я могу нормально скомпилировать файл python, используя модуль numpy или matplotlib с

 $ python text_reader.py
 

Комментарии:

1. numpy и теперь также matplotlib доступны в виде пакетов cygwin sourceware.org/pipermail/cygwin/2021-February/247684.html . Чтобы использовать Cygwin matplotlib для графики, у вас должен быть работающий XServer