Как редактировать PYTHONPATH в Windows

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

  1. ОС Windows версии 10+
  2. Python версии 3.3+
  3. Анаконда3

И вы хотите отредактировать свой файл PYTHONPATHнавсегда.

TL; DR

  1. Перейти в C:\Users\\Anaconda3\Lib\site-packages
  2. Создать файл python37.pth
  3. Отредактируйте файл, чтобы включить этот линейный C:\\Users\\\\my_модуль

Длинная версия; Читать

Пролог

В большинстве случаев редактирование PYTHONPATHв графическом интерфейсе настроек поможет. Уловка хорошо объяснена в этом ответе на переполнение стека.

Если вы в первую очередь хотите изменить свой путь локально , вам подойдет этот полезный ответ.

Слегка расширенный Арт. 1

Если у вас нет C:\Users\\Anaconda3\Lib\site-packages, повторноplace C:\Users\username> with the path to your Anaconda3.

Slightly Extended Item no. 2

If you are using Python3.7, create a file called python37.pth. Else create a file called pythont;.pth for whatever Python version you are using.

  • Not sure which version?

    Under C:\Users\\Anaconda3\ search for a file of the form python<XX>.dll. The indicates the version number you need for naming your .pth file.

  • Windows is super annoying and won’t let you create a file with a .pth suffix?

    There are such files in the C:\Users\\Anaconda3\Lib\site-packages folder. Copy one of them and edit the prefix.

  • Some places say you need to create a ._pth file instead of .pth?

    A ._pth file will completely replace your existing path. While a .pth file will append its content to the path you already have. You can find more information here.

Slightly Extended Item no. 3

Assuming the SuperCoolClass you wish to import is located at

C:\Users\\my_project_folder\my_awesome_file.py .

Then open your newly created pythont;.pth file with your favorite text editor (please don’t say it’s Vim) and add one line:

C:\\Users\\\\my_project_folder.

Yes, with those annoying double slashes \\ .

No, without quotes "" .

And that’s it.

Now you can import from anywhere, like a normal person:

from my_awesome_file import SuperCoolClass .

Epilogue

Nothing important to add here really.

I just hope my 2 hours of frustration + 1 hour of writing this post saved you some time.

Peace out.

Original text