Как да редактирам PYTHONPATH в Windows

Вие сте тук, защото използвате:

  1. Windows OS версия 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от GUI за настройки ще свърши работа. Трикът е добре обяснен в този отговор на Stack Overflow.

Ако на първо място търсите само да редактирате пътя си локално , този полезен отговор ще свърши работа.

Леко удължен артикул №. 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