Я пытаюсь импортировать модуль из определенного каталога.
Проблема в том, что если я sys.path.append(mod_directory)
добавляю путь, а затем открываю интерпретатор python, каталог mod_directory
добавляется в конец списка sys.path. Если я экспортирую PYTHONPATH
переменную перед открытием интерпретатора python, каталог добавляется в начало списка. В последнем случае я могу импортировать модуль, а в первом - нет.
Может ли кто-нибудь объяснить, почему это происходит, и дать мне решение добавить mod_directory
в начало внутри скрипта Python?
python
mechanize
python-import
pythonpath
UnadulteratedImagination
источник
источник
site
модуль .Ответы:
Это работает, как указано в документации. Любые пути, указанные в
PYTHONPATH
, документируются как обычно следующие после рабочего каталога, но перед стандартными путями, предоставляемыми интерпретатором.sys.path.append()
добавляется к существующему пути. Смотрите здесь и здесь . Если вы хотите, чтобы конкретный каталог был первым, просто вставьте его в начало sys.path:Тем не менее, обычно есть более эффективные способы управления импортом, чем использование
PYTHONPATH
или манипулированиеsys.path
напрямую. См., Например, ответы на этот вопрос .источник
Вы можете использовать:
источник
Что касается меня, мне нужно подключиться к моему пути Python. Я могу добавить его путь к файлу
/home/xy/.bashrc
, добавивexport PYTHONPATH=/home/xy/caffe-master/python:$PYTHONPATH
,в мой
/home/xy/.bashrc
файл.Но когда я использую pycharm, путь все еще не указан.
Итак, я могу добавить путь к
PYTHONPATH
переменной, выполнив -> редактировать конфигурацию.источник
Временное изменение директорий хорошо подходит для импорта:
источник
При запуске скрипта Python из Powershell под Windows это должно работать:
источник