Cómo editar PYTHONPATH en Windows

Estás aquí porque estás usando:

  1. Windows OS versión 10+
  2. Python versión 3.3+
  3. Anaconda3

Y te gustaría editar tu PYTHONPATHarchivo.

TL; DR

  1. Ir a C:\Users\\Anaconda3\Lib\site-packages
  2. Crea un archivo python37.pth
  3. Edite el archivo para incluir este C:\\Users\\\\my_módulo de línea

La versión larga; Leer

Prólogo

En la mayoría de los casos, editar el PYTHONPATHdesde la GUI de Configuración funcionará. El truco está bien explicado en esta respuesta de Stack Overflow.

Si en primer lugar solo está buscando editar su ruta localmente , esta útil respuesta será suficiente.

Ligeramente extendido Artículo no. 1

Si no tiene C:\Users\\Anaconda3\Lib\site-papaquetes, vuelva aplace 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 python t;.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 python t;.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.