Python

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

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

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

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

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

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

Пролог

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

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

Если у вас нет C:\Users\<your_username>\Anaconda3\Lib\site-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>\Anaconda3\Lib\ 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 часа нервотрепки и час на написание статьи сэкономят ваше время. Удачи.

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

Читайте также:


Перевод статьи Dalya Gartzman: How to edit PYTHONPATH on Windows