Как изменить PYTHONPATH на Windows

Вы читаете эту статью, потому что пользуетесь:

  1. Windows 10+
  2. Python 3.3+
  3. Anaconda3

… и хотите изменить PYTHONPATH.

Краткая инструкция

  1. Откройте C:Users<your_username>Anaconda3Libsite-packages
  2. Создайте файл python37.pth
  3. Измените файл и добавьте в него строку C:\Users\<your_username>\my_module

Подробное объяснение

Пролог

В большинстве случаев достаточно изменения PYTHONPATH из GUI настроек. Почему так — подробно объясняется на Stack Overflow.

Небольшое пояснение по п.1

Если у вас нет C:Users<your_username>Anaconda3Libsite-packages, то замените C:Users<your_username> на путь к Anaconda 3.

Небольшое пояснение по п.2

Если вы работаете в Python 3.7, то создайте файл под названием python37.pth. Для остальных версий создавайте файл python<XX>.pth.

  • Не знаете, в какой версии работаете?
    Поищите похожий на python<XX>.dll файл вот здесь: C:Users<your_username>Anaconda3. Название версии указано в <XX>. Его нужно присвоить файлу.pth.
  • Windows действует на нервы и не дает создать файл с расширением.pth?
    Такие файлы есть в папке C:Users<your_username>Anaconda3Lib site-packages. Скопируйте один из этих файлов и измените его расширение.
  • Прочитали где-то, что лучше создавать ._pth, а не .pth?
    Файл ._pth полностью заменяет существующий путь. А .pth добавляет свое содержимое к уже существующему пути. Более подробно объясняется здесь.

Небольшое пояснение по п.3

Предположим, что SuperCoolClass, который вы хотите импортировать, находится в C:Users<your_username>my_project_folder my_awesome_file.py.

Тогда откройте недавно созданный файл python<XX>.pth в своем любимом текстовом редакторе (пожалуйста, не говорите, что это Vim!) и добавьте туда вот эту строку:C:\Users\<your_username>\my_project_folder.
Да-да, с этими раздражающими двойными слешами \ .
И да, без кавычек “” .

Вот и все.
Теперь вы, как любой нормальный человек, сможете импортировать файлы, откуда угодно:
from my_awesome_file import SuperCoolClass .

Эпилог

Добавлять здесь особо нечего. Надеюсь, 2 часа нервотрепки и час на написание статьи сэкономят ваше время. Удачи.

— Что мы говорим ошибке импорта? — Не сегодня

Специально для сайта ITWORLD.UZ. Новость взята с сайта NOP::Nuances of programming