Відповіді:
Ви не встановлюєте PYTHONPATH, додаєте записи до sys.path. Це список каталогів, які слід шукати для пакетів Python, тому ви можете просто додати свої каталоги до цього списку.
sys.path.append('/path/to/whatever')
Фактично, sys.pathініціалізується діленням значення PYTHONPATHна символі роздільника шляху ( :на Linux-подібних системах,; в Windows).
Ви також можете додавати каталоги за допомогою site.addsitedirцього методу, а також враховувати .pthфайли, наявні в папках, які ви передаєте. (Це не було б у випадку із каталогами, які ви вказали PYTHONPATH.)
Ви можете отримати та встановити змінні середовища за допомогою os.environ:
import os
user_home = os.environ["HOME"]
os.environ["PYTHONPATH"] = "..."
Але оскільки ваш перекладач вже працює, це не матиме ефекту. Вам краще використовувати
import sys
sys.path.append("...")
який масив PYTHONPATHбуде перетворений під час запуску інтерпретатора.
Якщо ви поставите sys.path.append('dir/to/path')без перевірки, це вже додано, ви можете створити довгий список у sys.path. Для цього я рекомендую:
import sys
import os # if you want this directory
try:
sys.path.index('/dir/path') # Or os.getcwd() for this directory
except ValueError:
sys.path.append('/dir/path') # Or os.getcwd() for this directory
ви можете встановити PYTHONPATH, до os.environ['PATHPYTHON']=/some/path, тоді вам потрібно зателефонувати, os.system('python')щоб перезапустити оболонку python, щоб зробити новий доданий шлях ефективним.
os.system()не "перезапускає оболонку python", він запускає новий інтерактивний екземпляр Python. Повернувшись із цього пункту, ви знову в сценарії виклику.
sys.path.insert(0, '/path/to/whatever').