So bearbeiten Sie PYTHONPATH unter Windows

Sie sind hier, weil Sie verwenden:

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

Und Sie möchten Ihre PYTHONPATHdauerhaft bearbeiten .

TL; DR

  1. Gehe zu C:\Users\\Anaconda3\Lib\site-packages
  2. Erstellen Sie eine Datei python37.pth
  3. Bearbeiten Sie die Datei diese Zeile enthalten C:\\Users\\\\my_Modul

Die lange Version; Lesen Sie

Prolog

In den meisten Fällen reicht es PYTHONPATHaus, die Benutzeroberfläche zu bearbeiten . Der Trick wird in dieser Antwort zum Stapelüberlauf gut erklärt.

Wenn Sie Ihren Pfad zunächst nur lokal bearbeiten möchten , reicht diese hilfreiche Antwort aus.

Leicht erweitert Artikel-Nr. 1

Wenn Sie keine C:\Users\\Anaconda3\Lib\site-paCkages haben, replace 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