Python - PYTHONPATH в Linux
Я новичок в этом, и я начал изучать Python, но у меня есть некоторые вопросы, которые я не могу понять,
- Что такое PYTHONPATH (в Ubuntu)? Это папка?
- Предоставляется ли Python по умолчанию в Ubuntu, или он должен быть установлен явно?
- Где находится папка, в которой находятся все модули (у меня много папок под названием
python_
)?
- Если я хочу, чтобы новый модуль работал во время программирования (например, pyopengl), куда мне обратиться, чтобы представить все папки, которые у меня есть в загруженной папке?
- Возвращаясь к проблеме PYTHONPATH, как мне настроить PYTHONPATH, чтобы начать работу над моим новым модулем?
Ответы
Ответ 1
-
PYTHONPATH
является переменной окружения - Да (см. Https://unix.stackexchange.com/questions/24802/on-which-unix-distributions-is-python-installed-as-part-of-the-default-install)
-
/usr/lib/python2.7
в Ubuntu - Вы не должны устанавливать пакеты вручную. Вместо этого используйте pip. Когда пакет не находится в pip, у него обычно есть скрипт установки setuptools, который установит пакет в нужное место (см. Пункт 3).
- если вы используете 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, чтобы сделать всю тяжелую работу за вас.