какой питон против питона

Если я вписываю, в which python я получаю: /home/USER/anaconda3/bin/python Если я /home/USER/terrain_planning/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages echo $PYTHONPATH я получаю: /home/USER/terrain_planning/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages

Разве это не должно быть то же самое? И не лучше ли установить его: usr/lib/python/ Как бы я это сделал? Добавить его в PYTHONPATH или установить PYTHONPATH на это? Но как установить which python ?

Всего 2 ответа


Вы смешиваете 2 переменные окружения:

  • PATH где выполняется поиск исполняемых файлов, когда они доступны только по имени. Эта переменная представляет собой список (разделенный двоеточием / точкой с запятой в зависимости от платформы) каталогов, содержащих исполняемые файлы. Не специфично для Python. which python просто смотрит в эту переменную и печатает полный путь
  • PYTHONPATH - это специфичный для python список каталогов (двоеточие / точка с запятой, разделенные как PATH ), где python ищет пакеты, которые не установлены непосредственно в дистрибутиве python. Имя и формат очень близки к переменной PATH system / shell, но они вообще не используются операционной системой, только python.

which python является путем к вашему интерпретатору питона. PYTHONPATH - это переменная среды, в которой ваша программа на Python может искать модули для импорта.

См. Раздел 1.2

Разве это не должно быть то же самое? И не лучше ли установить его: usr / lib / python / Как бы я это сделал? Добавить его в PYTHONPATH или установить PYTHONPATH на это? Но как установить какой питон?

Нет, они не одинаковы. Вам не нужно изменять путь к вашему интерпретатору Python. Чтобы изменить PYTHONPATH, вы можете установить его в оболочке или из программы Python, используя sys.path

import sys
print(sys.path)
sys.path.append("another/path/to/search")

Есть идеи?

10000