Подтвердить что ты не робот

Python - PYTHONPATH в Linux

Я новичок в этом, и я начал изучать Python, но у меня есть некоторые вопросы, которые я не могу понять,

  1. Что такое PYTHONPATH (в Ubuntu)? Это папка?
  2. Предоставляется ли Python по умолчанию в Ubuntu, или он должен быть установлен явно?
  3. Где находится папка, в которой находятся все модули (у меня много папок под названием python_)?
  4. Если я хочу, чтобы новый модуль работал во время программирования (например, pyopengl), куда мне обратиться, чтобы представить все папки, которые у меня есть в загруженной папке?
  5. Возвращаясь к проблеме PYTHONPATH, как мне настроить PYTHONPATH, чтобы начать работу над моим новым модулем?
4b9b3361

Ответ 1

  1. PYTHONPATH является переменной окружения
  2. Да (см. Https://unix.stackexchange.com/questions/24802/on-which-unix-distributions-is-python-installed-as-part-of-the-default-install)
  3. /usr/lib/python2.7 в Ubuntu
  4. Вы не должны устанавливать пакеты вручную. Вместо этого используйте pip. Когда пакет не находится в pip, у него обычно есть скрипт установки setuptools, который установит пакет в нужное место (см. Пункт 3).
  5. если вы используете pip или setuptools, вам не нужно явно устанавливать PYTHONPATH

Если вы посмотрите на инструкции для pyopengl, вы увидите, что они соответствуют пунктам 4 и 5.

Ответ 2

1) PYTHONPATH - это переменная среды, которую вы можете установить для добавления дополнительных каталогов, где python будет искать модули и пакеты. например:.

# make python look in the foo subdirectory of your home directory for
# modules and packages 
export PYTHONPATH=${PYTHONPATH}:${HOME}/foo 

Здесь я использую синтаксис sh. Для других оболочек (например, csh, tcsh) синтаксис будет немного отличаться. Чтобы сделать его постоянным, установите переменную в файл инициализации оболочки (обычно ~/.bashrc).

2) Ubuntu поставляется с уже установленным python. Могут быть причины для установки других (независимых) версий python, но я обнаружил, что это редко необходимо.

3) Папка, в которой живут ваши модули, зависит от PYTHONPATH и где каталоги были настроены при установке python. По большей части, установленный материал вам не нужно заботиться о том, где он живет - Python знает, где он находится, и он может найти модули. Как вроде выдавать команду ls - где живет ls? /usr/bin? /bin? 99% времени, вам не нужно заботиться - просто используйте ls и будьте счастливы, что он живет где-то на вашем PATH, чтобы оболочка могла его найти.

4) Я не уверен, что понимаю этот вопрос. Модули сторонних производителей обычно поставляются с инструкциями по установке. Если вы следуете инструкциям, python должен иметь возможность найти модуль, и вам не нужно заботиться о том, где он был установлен.

5) Настройте PYTHONPATH, чтобы включить каталог, в котором находится ваш модуль, и python сможет найти ваш модуль.

Ответ 3

PYTHONPATH - это переменная окружения, содержимое которой добавляется в sys.path где Python ищет модули. Вы можете установить его на то, что вам нравится.

Тем не менее, не связывайтесь с PYTHONPATH. Чаще всего вы делаете это неправильно, и это принесет вам неприятности в долгосрочной перспективе. Например, виртуальные среды могут делать странные вещи...

Я бы посоветовал вам научиться правильно упаковывать модуль Python, возможно, с помощью этой простой настройки. Если вы особенно ленивы, вы можете использовать cookiecutter, чтобы сделать всю тяжелую работу за вас.