Відповіді:
Ви не встановлюєте 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')
.