7

How can I add a speciific directory to the search path using the C API? And a related question: will the changes be local to the application, or is the search path global?

Puppy
  • 141,834
  • 35
  • 244
  • 454
Paul Manta
  • 29,421
  • 31
  • 118
  • 202

2 Answers2

14

Use PySys_GetObject("path") to retrieve sys.path, then manipulate it as you would any other sequence or list. Changes will be local to the Python interpreter/VM.

Ignacio Vazquez-Abrams
  • 740,318
  • 145
  • 1,296
  • 1,325
14

You can update search path using the well-known Python code but called from within your C module:

PyRun_SimpleString(
   "import sys\n"
   "sys.path.append('/your/custom/path/here')\n"
);
Community
  • 1
  • 1
mloskot
  • 35,141
  • 11
  • 102
  • 125