Як редагувати 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-paкаркасів, повторіть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