Добавляет ли `pip install` текущий каталог в PYTHONPATH? - PullRequest
0 голосов
/ 28 августа 2018

Если у меня есть проект Python, содержащий файл setup.py, я могу запустить pip install --user -e .. Это установит все требования, перечисленные в установочном файле, и добавит текущий проект в мой список пипсов:

$ pip show project-name                                                                                
Name: project-name                                                                                    
Version: 1.0.0                                                                             
Summary: None                                                                                                                             
Location: /path-to-project/                    
Requires: matplotlib, numpy, scipy, ...                                                    
Required-by:   

По умолчанию это добавит \path-to-project\ к пользователям PYTHONPATH, или вам придется делать это вручную, чтобы вы могли импортировать код через import project-name из любого места в системе?

1 Ответ

0 голосов
/ 28 августа 2018

Нет, pip не изменяет PYTHONPATH, и вам это тоже не нужно. pip вместо этого использует стандартные пути, установленные Python при установке проекта. Вам не нужно вносить никаких изменений, вы уже установили пакет в стандартном месте, когда вы запустили pip install --user.

Проекты, установленные с -e, используют файл egg link и добавляются в файл .pth в стандартном расположении. Показанное расположение указано в файле project-name.egg-link (на самом деле это просто часть метаданных для отслеживания пакетов), и тот же путь добавляется в файл easy-install.pth в том же каталоге. Python автоматически добавляет любые пути, перечисленные в .pth файлах, к пути поиска модуля при запуске (это обрабатывается site module ).

Тот же набор стандартных путей также используется для повторного поиска проекта при запуске pip show; то, что команда работает, показывает, что проект уже в пути поиска модуля Python, правильно установлен.

Вы можете проверить пути, запустив python -m site. Поскольку вы установили пакет с ключом --user, местоположение, используемое pip, отображается там как путь USER_SITE. Проверьте этот путь, чтобы найти файлы *.egg-link и easy-install.pth.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...