Хорошо, у меня следующая ситуация. Мне нужно редактировать PYTHONPATH динамически на целевом ПК. Сейчас структура проекта:
trunk
bin
start_script
dependencies
dependencies
Из python я мог сделать, из start_script:
root_path = os.path.split(os.path.dirname(os.path.abspath(__file__)))[0]
dependencies_root = os.path.join(root_path, 'dependencies')
from sys import path
path.extend([root_path, dependencies_root])
Это бы сработало, но мне нужно запустить новые процессы Python с помощью process.Popen, и изменения в sys.path к тому времени уже не видно.
Теперь я думал, что сценарий sh сделает эту работу лучше здесь, к сожалению, я здесь совершенно нуб и не знаю, как поступить. Скрипт sh должен делать в основном то, что делал питон сверху, поэтому:
[1] Get the absolute path of the directory the script is located
[2] Get the parent of that folder (say parent_path)
[3] export PYTHONPATH=$PYTHONPATH:parent_path
[4] python start_script.py
Так что, по сути, первые два шага - это те, с которыми мне нужна помощь. Также, если есть способ внести изменения в файл sys.path python, сохраните его в подпроцессе, открытом с помощью подпроцесса. Откройте, пожалуйста, сообщите мне.